初心者の春の質問。私は@Componentクラスを正しく、私の環境設定をもたらす注釈があります。Plain Data Bean、自動受託Beanの呼び出し側(@Component)、NULLを参照してください。
@Component
public class EnvConfig {
//...
}
これは@Componentなので、自動注入によってピックアップされます。
しかし、このクラスの呼び出し元はプレーンなデータbeanです。プレーン・データBeanには、このクラスにアクセスする必要のある特殊なユーティリティ・メソッドがあります。私はこの方法にデバッグするとき
public class EmployeeBean {
@Autowired
EnvConfig envConfig;
//...
public void getSpecialInfo()
{
envConfig.method1();
envConfig.method2();
}
}
envConfigはNULLです。
したがって、Autowiredオブジェクトの呼び出し元でもは@Component、@Service、または@Repositoryである必要がありますか?
注釈付きクラスを '@ ComponentScan' /' 'で定義されたパッケージに配置することを忘れないでください。 –
また、Spring Bootのパワーを使用して、 –
しかし、制限について注意する必要があります:) AFAIK '@ SpringBootApplication'は' basePackage'パラメータなしで '@ ComponentScan'を使います。だから、「アプリケーション」を「間違った」場所(ネストされたパッケージなど)に置くことができ、アプリケーション(ルート)パッケージ全体で魔法のように動作しないかもしれません;) –