У меня есть 2 класса конфигурации, один с конфигурацией источников данных, а другой - мой WebSecurityConfig
, который расширяет WebSecurityConfigurerAdapter
.Я хочу загрузить значения БД для использования в WebSecurityConfig
, поэтому мне нужно завершить инициацию источников данных до WebSecurityConfig
.
OracleConfiguration
@Configuration
@ConfigurationProperties("oracle")
@Order(Ordered.HIGHEST_PRECEDENCE)
public class OracleConfiguration {
//data source beans...
}
WebSecurityConfig
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
@Order(Ordered.LOWEST_PRECEDENCE)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
//security configs like SAML...
}
И все же, когда я отлаживаю, код в WebSecurityConfig
запускается до инициализации источников данных, пример инициализации источника данных (внутриOracleConfiguration
)
@Bean
@Primary
DataSource dataSource() throws SQLException {
//Init
OracleDataSource dataSource = new OracleDataSource();
dataSource.setUser(username);
dataSource.setPassword(password);
dataSource.setURL(url);
dataSource.setImplicitCachingEnabled(true);
dataSource.setFastConnectionFailoverEnabled(true);
return dataSource;
}