Springが静的変数を注入できない理由は次のとおりです。具体的な詳細は次のとおりです。
スプリング依存関係注射は、依存関係セット方法です
SETメソッドは通常のオブジェクトメソッドです
静的変数はクラスの属性です
@autowired private static jdbctemplate jdbctemplate;
この注入プロセスを見るだけで、エラーはありませんが、次のjdbctemplate.query()はnullポインターエラーを報告します。
PS:スプリングは静的変数を注入します
今日、私は問題に遭遇しました。私のツールクラスの1つは、いくつかの静的な方法を提供します。静的方法では、処理を提供するために別のクラスインスタンスが必要なので、このコードを書きました。
class util {private static xxx xxx; xxx = beanutil.getbean( "xxx"); public static void method(){xxx.func(); } public static void method(){xxx.func(); }}GetBeanを使用してXXXインスタンスを取得する方法は次のとおりですが、この方法は良くなく、注入したいと言う人もいます。
しかし、静的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"> <プロパティ値= "xxx" ref = "xxx"/> </bean>
ここでは、自動的に生成されたゲッターおよびセッターメソッドには静的な予選があり、それらを実行する前に削除する必要があることに注意してください。