Spring boot - 首先初始化数据源



我有 2 个配置类,一个是数据源配置,另一个是我的 WebSecurityConfig延伸WebSecurityConfigurerAdapter.我想加载要在WebSecurityConfig中使用的数据库值,所以我需要在WebSecurityConfig之前完成启动数据源。

甲骨文配置

@Configuration
@ConfigurationProperties("oracle")
@Order(Ordered.HIGHEST_PRECEDENCE)
public class OracleConfiguration {
   //data source beans...
}

网络安全配置

@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;
}

尝试将 dataSource 放入 WebSecurityConfig 中的某个 bean 参数。在这种情况下,webSecurityConfig 中的 bean 将依赖于 OracleConfiguration 中的 dataSource bean。我认为它会起作用。

相关内容

  • 没有找到相关文章

最新更新