1. 实现接口ApplicationContextAware
这种方式是实现接口的方式,本人比较喜欢这种方式,因为这种方式扩展性比较强,可以根据需要在加入其他的接口。
package com.gameco.util;
//
//created by chenjianling 2013-07-31
//
//import javax.faces.application.Application;
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;
public class ThtApplicationContext implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
// TODO Auto-generated method stub
if (ThtApplicationContext.applicationContext == null) {
ThtApplicationContext.applicationContext = applicationContext;
System.out.println();
System.out.println();
System.out
.println("---------------------------------------------------------------------");
System.out
.println("========ApplicationContext配置成功,在普通类可以通过调用ToolSpring.getAppContext()获取applicationContext对象,applicationContext="
+ applicationContext + "========");
System.out
.println("---------------------------------------------------------------------");
System.out.println();
System.out.println();
}
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
}
在Spring配置文件中加入:
<!-- ThtApplicationContext chenjianling 2013-07-31 -->
<bean id="thtApplicationContext" class="com.gameco.util.ThtApplicationContext"></bean>
在其他类通过使用 :
com.gameco.util.ThtApplicationContext.getBean("beanID");