package com.bitbao.cm.cron;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class AppContextStandAlone {
private static ApplicationContext ac;
public static<T> T getBean(String beanName, Class<T> cls) {
if(ac == null){
initAc();
}
return ac.getBean(beanName, cls);
}
public static void initAc(){
/* 使用绝对路径
String filePath = CMConfig.getProperty("AppStandAloneConfigPath");
System.out.println(filePath);
ac = new FileSystemXmlApplicationContext("file:" + filePath);
*/
// 使用classpath
//URL url = AppContextStandAlone.class.getResource("classpath:" + "/configure/app/root.xml");/bitbao_web/WebContent/WEB-INF/configure/app/root.xml
ac = new FileSystemXmlApplicationContext("classpath:" + "/configure/app/root.xml");
}
}
package com.bitbao.cm.common.context;
import javax.servlet.ServletRequest;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.servlet.support.RequestContextUtils;
public class AppContext {
private static final ThreadLocal<WebApplicationContext> wac = new ThreadLocal<WebApplicationContext>();
public static void setWAC(WebApplicationContext wac) {
if (AppContext.wac.get() == null) {
AppContext.wac.set(wac);
}
}
public static void setWAC(ServletRequest request){
if (AppContext.wac.get() == null) {
AppContext.wac.set(RequestContextUtils.getWebApplicationContext(request));
}
}
public static WebApplicationContext getWac(){
return AppContext.wac.get();
}
public static<T> T getBean(String beanName, Class<T> cls) {
return AppContext.wac.get().getBean(beanName, cls);
}
}