怎么在Listener或servlet中,使用 spring 使用注解定义的bean
如何在Listener或servlet中,使用 spring 使用注解定义的bean?
请问如何在Listener或servlet中,使用 spring 使用注解定义的bean?
我是用网上找的方法,通过WebApplicationContext取bean,但是,跟踪发现,WebApplicationContext中只有xml中定义的bean,我的bean都是用注解方式@Component定义的,请问如何在Listener或servlet中,使用 spring 使用注解定义的bean?
谢谢啊
这是定义的listener,用于替代spring的contextloaderListener
web.xml
请问如何在Listener或servlet中,使用 spring 使用注解定义的bean?
我是用网上找的方法,通过WebApplicationContext取bean,但是,跟踪发现,WebApplicationContext中只有xml中定义的bean,我的bean都是用注解方式@Component定义的,请问如何在Listener或servlet中,使用 spring 使用注解定义的bean?
谢谢啊
这是定义的listener,用于替代spring的contextloaderListener
public class SpringLoaderListener extends ContextLoaderListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
super.contextInitialized(event);
ServletContext t1 = event.getServletContext();
WebApplicationContext t2 = WebApplicationContextUtils.getWebApplicationContext(t1);
SpringContextUtil.setApplicationContextStaticlly(t2);
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
}
package com.woods.common.util;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.web.context.WebApplicationContext;
public class SpringContextUtil implements ApplicationContextAware {
// Spring应用上下文环境
private static WebApplicationContext applicationContext;
public static void setApplicationContextStaticlly(WebApplicationContext vApplicationContext)
{
SpringContextUtil.applicationContext = vApplicationContext;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextUtil.applicationContext = (WebApplicationContext) applicationContext;
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/**
* 获取对象
*/
public static Object getBean(String name) throws BeansException {
return applicationContext.getBean(name);
}
}
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml,
WEB-INF/applicationContext-dbcp.xml
</param-value>
</context-param>
<!--