¿Spring carga beans usando la reflexión de Java?
2
3 importar org.springframework.beans.BeansException;
4 importar org.springframework.ApplicationContextAware;
6 /**
7 *
8 * @autor Kylin
9 *
10 */
11 ApplicationUtil de clase pública implementa ApplicationContextAware{
12 ApplicationContext estático privado applicationContext;
13 @Override
14 setApplicationContext público vacío (ApplicationContext applicationContext) lanza BeansException {
15 ApplicationUtil.applicationContext = applicationContext;
16 }
17 objeto público estático getBean(nombre de cadena){
18 return applicationContext.getBean(name);
19 }
20 }
Luego, debe agregar org.Springframework.context en su aplicación .ApplicationContext está configurado en "...". Springframework.context.ApplicationContext se inyecta en la clase como una propiedad
De hecho, simplemente escriba lo siguiente:
1
2
De esta manera se inyecta
En tiempo de ejecución simplemente carga tu applicationContext.xml
* El método principal de una clase Java ordinaria se llama así
new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationUtil.getBean("rssService");
*web El proyecto llama directamente
ApplicationUtil.getBean("rssService");
Eso es todo. Si no funciona según mi método, verifique si applicationContext. xml no está cargado, o el método que desea obtener el bean no está configurado en xml, espero que sea adoptado, gracias.