applicationContext.xml配置
<bean id="contextInitBeans" class="com.java1234.init.impl.ContextInitBeans" init-method="init" lazy-init="false">
<property name="contextInitBeans" >
<list>
<!-- 数据初始化 -->
<bean id="globalPathInit" class="com.java1234.init.impl.GlobalPathInit" lazy-init="false" >
<property name="urlMap">
<map>
<entry key="serverPath"><value>${tongda.global.serverPath}</value></entry>
<entry key="searchPath"><value>${tongda.global.searchPath}</value></entry>
<entry key="resourcePath"><value>${tongda.global.resourcePath}</value></entry>
</map>
</property>
</bean>
</list>
</property>
</bean>
init的java类
package com.java1234.init.impl;
import org.springframework.web.context.ServletContextAware;
import com.java1234.init.ContextInit;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* 系统启动时要初始化的类
* @author Luis
*
*/
public class ContextInitBeans implements ServletContextAware
{public ContextInitBeans() {
super();
}
/**
* 初始化对像集合
*/
private List<ContextInit> contextInitBeans;private List<String> initBeansClazz;
private ServletContext servletcontext;
/**
* 转换成对像
*/
public void init()
{
GlobalPathInit c = null;
for(int i=0;i<contextInitBeans.size();i++){
c = (GlobalPathInit)contextInitBeans.get(i);
c.init(servletcontext);
}
}
/**
* 转换成对像
*/
public void init(HttpServletRequest request, HttpServletResponse response)
{
GlobalPathInit c = null;
ServletContext servletContext = request.getSession().getServletContext();
for(int i=0;i<contextInitBeans.size();i++){
c = (GlobalPathInit)contextInitBeans.get(i);
c.init(servletContext);
}
/*try
{
for (String clazz : initBeansClazz)
{
ContextInit init = (ContextInit) Class.forName(clazz).newInstance();
this.contextInitBeans.add(init);
}
} catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
}*/
}
public List<ContextInit> getContextInitBeans()
{
if (null == contextInitBeans)
{
contextInitBeans = new ArrayList<ContextInit>();
}
return contextInitBeans;
}public void setContextInitBeans(List<ContextInit> contextInitBeans)
{
this.contextInitBeans = contextInitBeans;
}public List<String> getInitBeansClazz()
{
return initBeansClazz;
}public void setInitBeansClazz(List<String> initBeansClazz)
{
this.initBeansClazz = initBeansClazz;
}@Override
public void setServletContext(ServletContext servletContext) {
this.servletcontext = servletContext;
}
}
GlobalPathInit类
package com.java1234.init.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;import javax.servlet.ServletContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;import com.java1234.init.ContextInit;
import com.java1234.utils.Global;
public class GlobalPathInit implements ContextInit
{private Log log = LogFactory.getLog(GlobalPathInit.class);
private Map<String, String> urlMap = new HashMap<String, String>();
public void init(ServletContext context)
{
//log.info("你好GlobalPathInit");
if (urlMap != null)
{
for (String key : urlMap.keySet())
{
context.setAttribute(key, urlMap.get(key));
log.info("global path key:" + key + ";value:" + urlMap.get(key));
}
}
String number = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
log.info("随机数 >>> " + number);
context.setAttribute(Global.RANDOM_NUMBER, number);
}public void destroy()
{
}public Map<String, String> getUrlMap()
{
return urlMap;
}public void setUrlMap(Map<String, String> urlMap)
{
this.urlMap = urlMap;
}
}