2011-02-06 13 views

Respuesta

96

comentarios anteriores están bien, pero por lo general prefieren:

@Autowired private ApplicationContext applicationContext; 
+2

+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

+8

@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

+0

¿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. –

31

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" /> 
10

Sí, sólo implementar el -interface .

Cuestiones relacionadas