鉴于避免引起误会的角度,下面的内容仅限于讨论方法本身及可行性,不涉及大是大非问题,呵呵
当然,众所周知,可以通过评论中所指的方法获取容器中的bean。
如twalex所指,如果真要用到下面的方法,就需要考虑一下架构是否合理料。
参考ApplicationContextAware
定义一个bean实现此接口
public class WebAppContext implements ApplicationContextAware {
}
把WebAppContext 注册到applicationContext.xml中
<bean id="webAppContextUtils" class="com.yourcompany.utils.WebAppContext"/>
应用加载后,会执行WebAppContext中如下方法,可以得到applicationContext,后面怎么用就随便你了
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
//静态变量 = applicationContext;
}
取bean
SomeBean sBean = (SomeBean)applicationContext.getBean("beanName");