当我在同一类中使用@WebListener和@Service时,该类中的方法将运行两次。这是为什么?
示例代码:
@WebListener
@Service
public class WebContextListener implements ServletContextListener {
private static final Log logger = LogFactory.getLog(WebContextListener.class);
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext servletContext = sce.getServletContext();
logger.info("web listener 启动,为什么会执行两次呢,Spring做了什么处理吗");
logger.info("web listener runing,why this method ran twice,What did Spring do?");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}
答案 0 :(得分:0)
我认为是因为您使用@Service和@WebListener。
我想这将产生该类的两个实例。
尝试删除@Service。