美文网首页
静态方法中调用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

    啊 这个真心坑,百度到的东西让我试了2天都没结果,还是google到的结果靠谱。在运维“虞书漂”的时候遇到要在工具...

  • 类中方法中调用本类的方法

    在静态方法中不能调用非静态方法 在非静态方法中可以直接调用类中的方法

  • static静态变量

    1、静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,如果希望在静态方法中调用非静态变量,可以通过...

  • php面向对象中static静态属性和静态方法的调用

    1.静态方法中不能调用非静态属性; 2.静态方法中可以使用self::调用非静态方法(注:php中一个方法被sel...

  • 4.类-静态方法及抽象类

    类的静态属性与静态方法 类可以直接使用静态属性及调用静态方法静态方法中无法调用类上面的属性(public,prot...

  • static 静态方法

    1.静态方法可以直接调用同类中的静态成员,不可以直接调用同类的费静态成员。 2.普通方法可以直接调用静态成员和非静...

  • java中Static修饰符静态方法为什么不能调用非静态方法或变

    结论:静态方法只能调用静态方法(或者变量),非静态方法可以调用静态方法(或者变量)原因:类的静态成员(变量或方法)...

  • Spring 静态工厂方法、实例工厂方法创建 Bean

    通过调用静态工厂方法创建 Bean 调用静态工厂方法创建 Bean 是将对象创建的过程封装到静态方法中,当客户端需...

  • unity_lua热更新_语录

    ** lua 调用unity方法中,如果是静态方法要用 "." 如果是非静态方法要用 ":"** 1.lua中字符...

  • 2018-08-02

    静态方法是什么? 直接在类之后使用.号运算符调用方法。@staticmethoddef静态方法(...):调用静态...

网友评论

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

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