Java 关于@WebListener和@Service的问题

Java 关于@WebListener和@Service的问题,java,spring-boot,Java,Spring Boot,当我在同一个类中使用@WebListener和@Service时,该类中的方法将运行两次。为什么呢 示例代码: @WebListener @Service public class WebContextListener implements ServletContextListener { private static final Log logger = LogFactory.getLog(WebContextListener.class); @Override

当我在同一个类中使用@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) {

    }
}

我想是因为你使用了@Service和@WebListener

我想这将产生这个类的两个实例

尝试删除@Service

看看这个:

你说得对。谢谢你提醒我以后我会更新这个问题。顺便说一句,这个框架是Springboot 2.1.3谢谢你的评论,但我想知道更具体的原因