web容器启动时候初始化数据以及普通类注入
2012-05-27 01:09
429 查看
web容器启动时候初始化数据,需要在web.xml中加入自己的配置
1.Listener方式
2.servlet方式,同时普通类作为bean注入
application.xml
1.Listener方式
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 要在spring的ContextLoaderListener后边 --> <listener> <listener-class>cn.xue.init.XueInitListener</listener-class> </listener>
public class XueInitListener implements ServletContextListener{ public void contextInitialized(ServletContextEvent sce) { WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()); ReviewActivityManager reviewActivityManager=(ReviewActivityManager)applicationContext.getBean("reviewActivityManager"); List<ReviewActivity> list = reviewActivityManager.getAll(ReviewActivity.class); for(ReviewActivity reviewActivity:list){ ReviewActivity ra=new ReviewActivity(); ra.setName("999"+reviewActivity.getName()); try { reviewActivityManager.saveOrUpdate(ra); } catch (CommonException e) { e.printStackTrace(); } System.out.println(reviewActivity.getName()); } } public void contextDestroyed(ServletContextEvent sce) { } }
2.servlet方式,同时普通类作为bean注入
<servlet> <servlet-name>initial</servlet-name> <servlet-class>cn.xue.init.InitialServlet</servlet-class> <!-- 值最好大些,因为spring的ContextLoaderListener初始化完 --> <load-on-startup>10</load-on-startup> </servlet> <servlet-mapping> <servlet-name>initial</servlet-name> <url-pattern>/InitialServlet</url-pattern> </servlet-mapping>
application.xml
<bean id="schedulerManager" class="cn.xue.init.SchedulerManager"/>
//Spring启动完成后执行初始化操作(@Component符号组件可以用在任何层) @Component("initial") public class InitialServlet extends HttpServlet { private static final long serialVersionUID = 1L; public InitialServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override public void init(ServletConfig config) throws ServletException { try { WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(config.getServletContext()); ReviewActivityManager reviewActivityManager=(ReviewActivityManager)applicationContext.getBean("reviewActivityManager"); List<ReviewActivity> list = reviewActivityManager.getAll(ReviewActivity.class); for(ReviewActivity reviewActivity:list){ ReviewActivity ra=new ReviewActivity(); ra.setName("888"+reviewActivity.getName()); reviewActivityManager.saveOrUpdate(ra); System.out.println(reviewActivity.getName()); } SchedulerManager schedulerManager=(SchedulerManager)applicationContext.getBean("schedulerManager"); schedulerManager.add(); } catch (CommonException e) { e.printStackTrace(); } } }
//(@Component符号组件可以用在任何层) @Component("schedulerManager") public class SchedulerManager { private ReviewActivityManager reviewActivityManager; //注入必须要有@Autowired @Autowired public void setReviewActivityManager(ReviewActivityManager reviewActivityManager) { this.reviewActivityManager = reviewActivityManager; } public void add() throws CommonException{ List<ReviewActivity> list = reviewActivityManager.getAll(ReviewActivity.class); for(ReviewActivity reviewActivity:list){ ReviewActivity ra=new ReviewActivity(); ra.setName("777"+reviewActivity.getName()); reviewActivityManager.saveOrUpdate(ra); System.out.println(reviewActivity.getName()); } } }
相关文章推荐
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)
- Tomcat启动时加载数据到缓存--Web.xml里listener的加载顺序,优先初始化Spring IOC容器
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)
- web.xml文件加载顺序 一、 1 、启动一个 WEB 项目的时候, WEB 容器会去读取它的配置文件 web.xml ,读取 <listener> 和 <context-param>
- spring 在web容器启动时执行初始化方法
- spring 在web容器启动时执行初始化方法
- web容器启动时,借助spring进行初始化操作
- spring 在web 容器启动时,执行FIFO队列初始化方法
- spring在web容器启动时执行初始化方法
- spring在web容器启动时执行初始化方法
- ServletContext与Web应用以及Spring容器启动
- spring 在web容器启动时执行初始化方法
- spring在web容器启动时执行初始化方法
- spring在web容器启动时执行初始化方法
- Javaweb 项目启动数据初始化
- 【Spring容器】项目启动后初始化数据的两种实践方案
- WEB启动时,如何加载spring容器和struts2容器(bean的注入和url如何请求)
- spring在web容器启动时执行初始化方法
- spring在web容器启动时执行初始化方法(四种方式)
- web项目启动时 初始化加载系统参数 获取无法自动注入的服务