普通Java类中获得Spring Bean实例
原文:http://www.examda.com/ncre2/JAVA/bianc/20100106/085543888.html
?
web项目中:
第一步:写一个类ThtApplicationContext实现 Spring 的接口 org.springframework.context.ApplicationContext
?????????? 并实现它的方法
? ? ? ?? ? public void setApplicationContext(ApplicationContext arg0)
??? ??? ??? throws BeansException {
??? ?? ? ? ? ? ? ? //1? this.applicationContext = arg0;
? ? ? ? ? ? }
第二步:在类中定义? org.springframework.context.ApplicationContext类型的属性
?????????? 如:private static ApplicationContext applicationContext;
?????????? 同时在第一步中将arg0赋给applicationContext;即第一步中被注释的1
?????????? 至于静态的方法:为了以后多次使用时,就用一个ApplicationContext对象就可以了,节资源
第三步:
??????? 发布方法:供外部使用,返回值为:org.springframework.context.ApplicationContext
??????? ??? public static ApplicationContext getApplicationContext(){
??? ?? ? ? ? ? ? return applicationContext;
? ? ? ? ?? }
第四步:在Spring配置文件中配
??? <bean? />
??? 在启动Web项目时加载Spring配置文件时,Spring把org.springframework.context.ApplicationContext作为属性注入给类:ThtApplicationContext
第五步:普通类中使用:
????????? Object obj=ThtApplicationContext.getApplicationContext().getBean("BeanName");
????????? obj 里边放的就是spring中 bean配置的类对象了
????????? OK,成功。