Utilizamos las clases @Configuration
para hacer la configuración Spring basada en Java. Estoy tratando de configurar una Jerarquía de AnnotationConfigApplicationContext
(s).Jerarquía de configuración basada en anotaciones
Parece que funciona. Como puedo Autowire beans desde el contexto principal como miembros de beans creados a partir de uno de los contextos secundarios.
Sin embargo, no estoy logrando Autowire beans desde el contexto principal a los archivos de clase @Configuration
, algo que es muy útil. Todos son nulos.
// parent context config
@Configuration
public class ParentContextConfig{
@Bean parentBeanOne...
@Bean parentBeanTwo...
}
// child context config
@Configuration
public class ChildContextConfig{
@Autowired parentBeanOne
@Bean childBeanOne...
}
// a sample bean
@Component
public class ChildBeanOne{
@Autowired parentBeanTwo
}
En esta muestra, lo que quiero decir es parentBeanTwo
adecuadamente creado mientras parentBeanOne
no se autowired (null
) para el archivo de configuración.
¿Qué me estoy perdiendo?
¿Cómo se configuró la relación padre/hijo? – skaffman
He encontrado que el autoenvío a ChildContexts funciona si declaras esos AnnotationConfigApplicationContext como beans en el contexto primario. Sin embargo, ¿empiezo a obtener "referencias circulares"? excepciones relacionadas ... No puedo identificar ninguna referencia circular. – Rafael
Establecí la relación haciendo setParent (ctx) antes de registrar las clases de configuración @configurable. – Rafael