SSH 工具类如何注入
package sgx.util;
public class DbContextHolder {
private static final ThreadLocal contextHolder = new ThreadLocal();
public static void setDbType(String dbType) {
contextHolder.set(dbType);
}
public static String getDbType() {
return (String) contextHolder.get();
}
public static void clearDbType() {
contextHolder.remove();
}
public static ThreadLocal getContextholder() {
return contextHolder;
}
}
这上面是从论坛大神那里 学过来的一个更改连接数据库的一个工具类
本人是新手 现在想在Dao层使用这个工具类 但是一直无法加载这个工具类
package sgx.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import sgx.dao.IOtherEventInfoDao;
import sgx.entity.EventInfo;
import sgx.util.DbContextHolder;
public class OtherEventInfoDao implements IOtherEventInfoDao {
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public String EventInfoFinal(String IP, String dateBase) {
DbContextHolder.setDbType("0");
List<EventInfo> list0 = hibernateTemplate.find("from EventInfo");
//dateBase,IP 目标数据库标记
switch(IP+dateBase){
case "127.0.0.1"+"spring" :
DbContextHolder.setDbType("1");
List<EventInfo> list1 = hibernateTemplate.find("from EventInfo");
hibernateTemplate.deleteAll(list1);
for(int i=0;i<list0.size();i++){
hibernateTemplate.save(list0.get(i));
}
break;
case "127.0.0.1"+"ETCLaneDB" :
DbContextHolder.setDbType("2");
List<EventInfo> list2 = hibernateTemplate.find("from EventInfo");
hibernateTemplate.deleteAll(list2);
DbContextHolder.setDbType("2");
for(int i=0;i<list0.size();i++){
hibernateTemplate.save(list0.get(i));
}
break;
case "192.168.1.6"+"Expressway":
DbContextHolder.setDbType("3");
List<EventInfo> list3 = hibernateTemplate.find("from EventInfo");
hibernateTemplate.deleteAll(list3);
for(int i=0;i<list0.size();i++){
hibernateTemplate.save(list0.get(i));
}
break;
}
return null;
}
经过测试 test中可以跑
但是一放到Tomcat上 就无法加载DbContextHolder了
求帮助 如何注入这个工具类?