私はSpring Serverを実行していますが、これまでフィールドインジェクションによってBeanを自動配線することに問題はありませんでした。いくつかの理由で、これは特定の状況下では機能しません。私は、自分のDatabaseConfigurationがデータベースクラスの内部で自動的に実行されることを実現したいと思います。 DatabaseConfigurationは、Spring AutowiredはBeanConfigで動作しません
@Component
@ConfigurationProperties(prefix = "databaseConfiguration")
アノテーションを持つアプリケーションプロパティからロードされます。私はこのクラスをautowiredしている私のBeanConfigの内部で正常に読み込まれます。今、私はこのようなデータベースのBean定義を持っている:
@Bean
public Database getDatabase() {
return new Database();
}
Databaseクラスの中に、このような構成のためのフィールド定義があります:
@Autowired
DatabaseConfiguration config;
getDatabase()関数が呼び出されると、私は、DatabaseConfigurationがBeanConfigクラス内で正しくautowiredになっていることを確認しましたが、何らかの理由でDatabaseの作成されたインスタンス内でnullです。
データベースクラスはproject.databasesパッケージ内にあり、DatabaseConigurationとBeanConfigurationはproject.configパッケージ内にあります。
私の主な用途は、プロジェクトパッケージ内にあり、オートワイヤリングはここで働いてdoesntのなぜ誰もが手掛かりを持っています
@EnableScheduling
@ComponentScan
@EnableAutoConfiguration(exclude = { MongoAutoConfiguration.class, MongoDataAutoConfiguration.class })
これらのアノテーションで注釈されていますか?