1.问题描述:有时候,我们需要在tomcat容器启动时执行一些java代码,这时候可以使用监听器。但是,如果我们执行的java代码使用了spring注解,这时候就不能够直接使用监听器。例如,在容器启动时,爬取某个网站的数据,并存储到数据库中。这时候就要考虑,在监听器中获取applicationContext对象,并通过该对象获取相应的bean。
2.解决方法:
在监听方法中加入如下代码:
ApplicationContext act = ContextLoader.getCurrentWebApplicationContext();
UserService userService = (UserService) act.getBean("userService");
总结:成功解决公司项目中遇到问题,开心!