普通类获取spring中的bean.....
package com.proxy;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.ApplicationObjectSupport;
import org.springframework.web.context.support.WebApplicationObjectSupport;
/**
* Desc:
* Copyright: Copyright(c)Sinosoft 2012
* Attention attention:
* Exception:
* VERSION: 1.0
* DATE: 2012-9-15 下午06:02:56
* Author: MaoHaiTao
* Email:imusic.mht@gmail.com
* URL:http://weibo.com/u/1788282477
* CHANGE/COMMENT: create
*/
public final class ToolSpring extends ApplicationObjectSupport {
public static ApplicationContext applicationContext = null;
public static String string="";
@Override
protected void initApplicationContext(ApplicationContext context) throws BeansException {
// TODO Auto-generated method stub
super.initApplicationContext(context);
if(ToolSpring.applicationContext == null){
ToolSpring.applicationContext = context;
NetTest.applicationContext= context;
System.out.println();
System.out.println();
System.out.println("---------------------------------------------------------------------");
System.out.println("========ApplicationContext配置成功,在普通类可以通过调用ToolSpring.getAppContext()获取applicationContext对象,applicationContext="+applicationContext+"========");
System.out.println("---------------------------------------------------------------------");
System.out.println();
string ="S";
NetTest.string ="222";
new NetTest(context,"12312");
System.out.println("applicationContext="+applicationContext);
}
}
public static ApplicationContext getAppContext() {
return applicationContext;
}
public static Object getBean(String name){
return getAppContext().getBean(name);
}
}
配置文件:
<bean id="ToolSpring" class="com.proxy.ToolSpring" ></bean>
其他类的 main方法:
public static void main(String[] args) {
// ServiceDownProcessor sdp = new ServiceDownProcessor(ServletActionContext.getRequest());
System.out.println("applicationContext="+ToolSpring.getAppContext()+"|ToolSpring.getSpringServices()=");
System.out.println("applicationContext="+getApplicationContext()+"|ToolSpring.getSpringServices()=");
System.out.println("applicationContext="+ToolSpring.string+"|ToolSpring.getSpringServices()=");
System.out.println("applicationContext="+com.proxy.NetTest.string+"|ToolSpring.getSpringServices()=");
// sdp.createNodePrefixMap();
}
输出:
applicationContext=null|ToolSpring.getSpringServices()=
applicationContext=null|ToolSpring.getSpringServices()=
applicationContext=|ToolSpring.getSpringServices()=
applicationContext=|ToolSpring.getSpringServices()=
为什么在 main方法里面去不到值呢。 很急。 知道的打下帮帮忙!!!