0
在我的Spring配置類中,我需要jdbcTemplate來初始化其他bean。在配置類本身初始化的spring配置類中使用bean
@Configuration
public class ApplicationBeansConfiguration {
@Bean
public JdbcTemplate jdbcTemplate() throws GeneralSecurityException {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource());
return jdbcTemplate;
}
@Bean
@Lazy
public Map<String, String> someDatabaseTableValues(){
// I need jdbcTemplate bean here.
}
只需將其添加爲方法參數'someDatabaseTableValues(JdbcTemplate template)'。 –
使用'@DependsOn(「jdbcTemplate」)'而不是'@ Lazy'並調用JdbcTemplate jdbcTemplate = jdbcTemplate(); ''在你的'someDatabaseTableValues()'方法中。第一個註解保證jdbcTemplate bean在初始化'someDatabaseTableValues()'之前被初始化。跳過'@ DependsOn'可能會導致循環引用異常。除此之外,爲bean命名總是安全的,即'@Bean(name =「jdbcTemplate」)...' –