Digamos que tenemos una clase:Cómo inyectar dependencias en un objeto autoejeado en Spring?
public class MyClass {
@Autowired private AnotherBean anotherBean;
}
Entonces creamos un objeto de esta clase (o algún otro marco han creado la instancia de esta clase).
MyClass obj = new MyClass();
¿Es posible todavía inyectar las dependencias? Algo así como:
applicationContext.injectDependencies(obj);
(creo que Google Guice tiene algo como esto)
Buena respuesta (+1). También hay un segundo método en el que puede influir en cómo se realiza el autoenvío: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/AutowireCapableBeanFactory.html# autowireBeanProperties% 28java.lang.Object,% 20int,% 20boolean% 29 –
Pero, ¿qué ocurre si tengo dos objetos y primero me autoconecto? ¿Cómo funciona la fábrica de bean autowire con dependencias en el caso? –
Esto es realmente un mal patrón. Si así es como realmente usas MyBean, ¿por qué no tener simplemente constructor con AnotherBean como parámetro? Algo como: 'code' private @Autowired AnotherBean bean; public void doStuff() {MyBean obj = new MyBean (bean); } 'código'. Parece ser que con todas estas anotaciones la gente se confunde mucho y simplemente no usa el patrón básico que estaba en el SDK de Java desde el día 1. :( – Denis