美文网首页
静态方法中调用service

静态方法中调用service

作者: pri17 | 来源:发表于2017-08-18 11:49 被阅读0次

    啊 这个真心坑,百度到的东西让我试了2天都没结果,还是google到的结果靠谱。
    在运维“虞书漂”的时候遇到要在工具类的static方法中调用MessageService发送消息。
    现在亲试可行的方法是
    Spring.xml配置文件中注册bean -- StaticContextAccessor

    @Component
    public class StaticContextAccessor {
    
        private static StaticContextAccessor instance;
    
        @Autowired
        private ApplicationContext applicationContext;
    
        @PostConstruct
        public void registerInstance() {
            instance = this;
        }
    
        public static <T> T getBean(Class<T> clazz) {
            return instance.applicationContext.getBean(clazz);
        }
    }
    

    Spring.xml文件中注册

        <bean class="project.system.util.StaticContextAccessor" />
    

    然后在静态方法中就可这样调用

       StaticContextAccessor.getBean(MessageService.class).method();
    

    相关文章

      网友评论

          本文标题:静态方法中调用service

          本文链接:https://www.haomeiwen.com/subject/nctarxtx.html