[開発]春 - 春は静的変数を注入します

  今日は、問題が発生した私のユーティリティクラスの一つは、いくつかの静的メソッドを提供し、静的メソッドは、治療を提供し、したがって、このようなコードを書くために、クラスの別のインスタンスが必要になります。

 1 Class Util{
 2   private static XXX xxx;
 3   xxx = BeanUtil.getBean("xxx");
 4   public static void method1(){
 5      xxx.func1();  
 6   }
 7   public static void method2(){
 8      xxx.func2();
 9   }      
10 }

  ここでは例のXXXを取得するために使用する方法のgetBeanですが、他の人は、あなたが望む方法を注入するために、このアプローチが良くないと言います。

  しかし、どのように静的XXX、それを注入?

  インターネットに簡単です、言いたいことがたくさんを検索:

 Class Util{
    private static XXX xxx;
    public void setXxx(XXX xxx){
        this.xxx = xxx;
    }
    public void getXxx(){
        return xxx;
    }
    public static void method1(){
        xxx.func1();  
    }
    public static void method2(){
        xxx.func2();
    }      
}

  通常の構成XMLでそれを注入。

<bean value="test" class="x.x.x.Util">
    <property value="xxx" ref="xxx"/>
</bean>

  なお、ここでは静的な修飾子、削除する必要になり、自動的にgetterメソッドとsetterメソッドを生成する彼らができる前に。

ます。https://my.oschina.net/u/204616/blog/545181で再現

おすすめ

転載: blog.csdn.net/weixin_33896069/article/details/91989576