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