如何让spring容器启动后立即执行我需要的操作??

sunney888 发布于 2010/11/09 14:16
阅读 12K+
收藏 3

如何让spring容器启动后立即执行我需要的操作??

因为使用了缓存,想spring容器启动后 把一个数据加载到缓存中。

加载中
1
xiaohangHu
xiaohangHu

直接来例子吧:

先写个加载类:

public class CacheLoder{
  public void init(){
    //在这里加载缓存..
  }
}

然后配置一个bean:

<!--注意:lazy-init="false" init-method="init" -->
<bean id="cacheLoder" lazy-init="false" class="CacheLoder" init-method="init" />
CaesireKin
CaesireKin
厉害。。。
0
黄平俊
黄平俊

 <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

可以继承这个类,然后自定义启动后的操作

0
sunney888
sunney888

能有个例子说明一下吗。

0
sunney888
sunney888

<servlet>   

          <servlet-name>startup</servlet-name>   

          <servlet-class>com.msd.payCenter.commons.InitApp</servlet-class>   

          <load-on-startup>9</load-on-startup>   

      </servlet>

public class InitApp extends ContextLoaderListener{

/**

*/

private static final long serialVersionUID = -4021924214523494989L;

@Autowired

private  static SysConfigUtils sysConfigUtils;

public InitApp(){

super();

//系统参数初始化

System.out.println("sysConfigUtils:"+sysConfigUtils);

System.out.println("====================================系统参数初始化========================================");

sysConfigUtils.onLoadPara();

System.out.println("============================end===========================");

}但SysConfigUtils sysConfigUtils 没有注入到 为NULL;

0
黄平俊
黄平俊

ContextLoaderListener  中有个contextInitialized方法:

public void contextInitialized(ServletContextEvent event) {
        this.contextLoader = createContextLoader();
        if (this.contextLoader == null) {
            this.contextLoader = this;
        }
        this.contextLoader.initWebApplicationContext(event.getServletContext());

      //自定义初始化

}

返回顶部
顶部