¿Hay alguna manera de utilizar el método de búsqueda de primavera con los parámetros? Por ejemplo, quiero ser capaz de crear instancias de beans en un prototipo mientras les paso parámetros arbitrarios a través de constructor.Inyección del método de búsqueda del muelle con los parámetros
Respuesta
Puede inyectarlos mediante inyección de campo/setter. (Tenga en cuenta que la inyección del constructor está mal visto por la primavera, aunque es compatible)
en resumen, no. Spring admite algo llamado "inyección de método", pero es diferente de lo que estás pensando. Spring también es compatible con la inyección de constructor, pero no está llamando al constructor usted mismo, Spring is, y lo está conectando por sí mismo.
su lugar, puede utilizar la reflexión para crear instancias de la clase y pasar parámetros arbitrarios ti mismo:
Class<MyObject> clazz = MyObject.class; // this can be looked up or stored in a field, etc.
MyObject myObject = clazz.getConstructor(String.class, int.class)
.newInstance("arbitrary parameter", 42);
Parece que este rasgo vital finalmente se añadió en la primavera 4.1.0.RC2. Lo he probado y parece funcionar.
Se añadió como parte de la compra de entradas JIRA SPR-7431 ("Passing lookup-method arguments to created bean constructor"):
< lookup-método /> debe permitir especificar cualquier número de parámetros. Estos parámetros se deben pasar directamente al constructor del bean recién creado.
Para obtener más información sobre cómo se agregó finalmente la característica, this blog post fue escrita por el tipo que abrió el boleto JIRA.
- 1. ¿Cómo especifico los parámetros del método de prueba con TestDriven.NET?
- 2. ASIHttpRequest Método DELETE con los parámetros del cuerpo
- 3. ¿Cómo puede obtener los nombres de los parámetros del método?
- 4. Obtiene los nombres y valores de los parámetros del método desde adentro del método
- 5. ¿Cómo puedo mejorar los tiempos de respuesta del muelle?
- 6. Pasar hashes en lugar de los parámetros del método
- 7. Datos del muelle MongoDB Fecha entre
- 8. Iterar a través de los parámetros del método
- 9. ¿cómo uso IDEA intellij para autocompletar los parámetros del método?
- 10. donde descargar el código fuente del muelle?
- 11. Cómo conectar los parámetros del método en atributo personalizado
- 12. retraso de puesta en marcha del muelle
- 13. Parámetros del método PHP-Soap Pass
- 14. Parámetros del método generado por Eclipse final
- 15. copiar los parámetros del constructor
- 16. Necesita una explicación simple del método de inyección
- 17. nombres de los parámetros del prototipo
- 18. C#: Restricción de los tipos de parámetros del método (no parámetros genéricos)
- 19. ¿Hay lenguajes de programación de tipo estático con herencia donde los parámetros del método son contravariantes?
- 20. Múltiples parámetros de búsqueda con LINQ
- 21. Tejido del tiempo de carga del muelle no detecta la clase anotada con @configurable
- 22. La resolución del método en métodos de extensión con los parámetros opcionales
- 23. Muelle - Sustitución de los valores de las propiedades de los frijoles con los nuevos valores del Archivo de propiedades
- 24. La mejor forma de validar los valores de los parámetros del método WCF y WebService
- 25. Parámetros de asInncTask doInBackground frente a los parámetros del constructor
- 26. Usando los parámetros de búsqueda dinámicos con Sequelize.js
- 27. Parámetros de sugerencia de IntelliJ IDEA del método
- 28. ¿Inyección de dependencia del constructor con Servlet 3.0?
- 29. Sugerencias de parámetros del método C/C++ en Eclipse
- 30. correlación de servlet con muelle
¿Por qué hay una preferencia por la inyección de setter sobre la inyección de constructor? Pensé que eran equivalentes. –
La inyección del constructor puede dificultar la creación de instancias circulares. – Bozho
@Bozho: así que en realidad es algo bueno ... deberían usarse dependencias circulares, ¿no? – TWiStErRob