2017-09-06 65 views
-1

我有一臺Spring服務器正在運行,到現在爲止,我沒有通過現場注入自動裝配我的Beans的問題。由於某些原因,這在某些情況下不起作用。我想實現我的DatabaseConfiguration在數據庫類中自動裝配。數據庫配置從應用程序屬性加載,其中Spring Autowired不能在BeanConfig中工作

@Component 
@ConfigurationProperties(prefix = "databaseConfiguration") 

註釋。它在我自己裝配這個類的BeanConfig中成功加載。現在我有一個這樣的數據庫中的一個bean定義:

@Bean 
public Database getDatabase() { 
    return new Database(); 
} 

數據庫裏面的類有像這樣的配置字段的定義:

@Autowired 
DatabaseConfiguration config; 

當getDatabase()函數被調用,我證實DatabaseConfiguration在BeanConfig類中正確自動裝入,但由於某種原因,它在創建的數據庫實例內爲空。

Database類位於project.databases包內,DatabaseConconfig和BeanConfiguration位於project.config包內。

我的主要應用是項目包中,並標註了這些註釋

@EnableScheduling 
@ComponentScan 
@EnableAutoConfiguration(exclude = { MongoAutoConfiguration.class, MongoDataAutoConfiguration.class }) 

有沒有人有一個線索,爲什麼自動連接不工作在這裏嗎?

回答

0

您可以手動創建數據庫 - return new Database();。春天沒有機會自動裝配任何東西。

您應該讓Spring創建bean或手動分配配置。