0

ある日、NPE が原因でアプリケーションがクラッシュし始めるというインシデントに直面しました。クラッシュしている場所を見つけましたが、なぜクラッシュしたのかわかりません。

大まかに言えば、春の豆と同時に現れるクラスAがあると仮定しましょう。このクラスには、明示的にインスタンス化されるフィールドプロパティ(はい、どのように聞こえるかは知っています) と、このフィールドを使用するメソッドpropertyUserがあります。

class A {
   private ObjectClass property = new ObjectClass();
   public void propertyUser() {
      property.action();
   }   
   ....
   getter\setter for property
}

そして、通常の作業をしばらく行った後、プロパティ フィールドが null になり、propertyUserメソッドから NPE が発生しました。このレガシー コードを変更した結果、このプロパティはいずれかのスプリング コンテナーを介して割り当てられるようになりましたが、これがこのエラーの原因であったことを確認する必要があります。

ですので、どなたかヒントを頂ければ幸いです。

4

0 に答える 0