系统使用Hibernate作为持久层,我们希望在系统启动时候创建SessionFactory实例,并将SessionFactory存入Application,在应用关闭的时候销毁SessionFactory
(1)实现自己的Plugin,并实现init和destory方法
public class SessionFactoryLoaderPlugin implements Plugin...{
private String configFile;
public void destroy...{
System.out.println("系统销毁SessionFactory");
}
public void init(ActionServlet actionServlet,ModuleConfig config) throws ServletException...{
System.out.println("系统以"+getConfigFile()+"为配置文件初始化SessionFactory");
}
//configFile的setter,getter方法
}
private String configFile;
public void destroy...{
System.out.println("系统销毁SessionFactory");
}
public void init(ActionServlet actionServlet,ModuleConfig config) throws ServletException...{
System.out.println("系统以"+getConfigFile()+"为配置文件初始化SessionFactory");
}
//configFile的setter,getter方法
}
(2)配置Struts-config.xml
<plug-in className="lee.SessionFactoryLoaderPlugin">
<set-property property="configFile" value="/WEB-INF/hibernate.cfg.xml"/>
</plug-in>
<set-property property="configFile" value="/WEB-INF/hibernate.cfg.xml"/>
</plug-in>