zoukankan      html  css  js  c++  java
  • 自定义项目启动初始化信息的listener报错

    自定义初始化组件代码如下:

    @Component
    public class InitComponent implements ServletContextListener, ApplicationContextAware {
    
        private static ApplicationContext applicationContext;
    
    
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            ServletContext sc = servletContextEvent.getServletContext();
            //设置博主信息
            BloggerService bloggerService = (BloggerService) applicationContext.getBean("bloggerService");   //错误处
            Blogger blogger = bloggerService.getBlogger();
            blogger.setPassword(null);
            sc.setAttribute("blogger", blogger);
    
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
    
        }
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            this.applicationContext = applicationContext;
        }
    } 

        写这段代码并且将其配在web.xml的listener中,用意在于项目启动的时候通过监听就初始化一些信息,

        但是每次启动错误处就会报NullPoint异常,经过排查才知道:

        Spring在项目启动时扫描注解配置的Bean是有顺序的,具体顺序是ApplicationContext.xml的顺序,

        问题就出在这,当扫描到这个类时如果BloggerService还没有被扫描到,就自然会报错了。

     
  • 相关阅读:
    iOS开发UI篇—Quartz2D使用(图片剪切)
    LeanCloud存取数据
    Pod搜不到类库解决办法
    第三方的工具以及插件
    苹果开发账号申请注意事项
    苹果账号网址汇总
    代码规范
    流媒体
    iOS面试题
    安装 Alcatraz
  • 原文地址:https://www.cnblogs.com/goxcheer/p/9387492.html
Copyright © 2011-2022 走看看