Quiero inyectar un ApplicationContext
a un bean.Cómo inyectar ApplicationContext en sí
Algo así como
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Es eso posible en primavera?
Quiero inyectar un ApplicationContext
a un bean.Cómo inyectar ApplicationContext en sí
Algo así como
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Es eso posible en primavera?
comentarios anteriores están bien, pero por lo general prefieren:
@Autowired private ApplicationContext applicationContext;
Fácil, usando la interfaz ApplicationContextAware
.
public class A implements ApplicationContextAware {
private ApplicationContext context;
public void setApplicationContext(ApplicationContext context) {
this.context = context;
}
}
Luego, en su aplicación realContext solo necesita hacer referencia a su bean.
<bean id="a" class="com.company.A" />
Sí, sólo implementar el -interface .
+1 Por cierto, ¿tienes alguna idea acerca de los pros los contras entre la inyección directa por applicationContext @Autowired o la aplicación de interfaz de ApplicationContextAware? Gracias. – Javatar
@Bariscan: creo que no hay pros y contras. Pero prefiero esto porque @ Autowired es lo que uso para inyectar todas las propiedades, así que ¿por qué hacerlo de manera diferente simplemente porque es un ApplicationContext? – sinuhepop
¿Puede proporcionar un ejemplo más detallado de contexto de aplicación @Autowired (soy un gran fan)? Siempre es nulo para mí. ¿Se necesitan interfaces adicionales? Gracias. –