gpt4 book ai didi

java - Spring boot - 首先初始化数据源

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:25 25 4
gpt4 key购买 nike

我有 2 个配置类,一个是数据源配置,另一个是我的WebSecurityConfig 扩展了 WebSecurityConfigurerAdapter。我想加载要在 WebSecurityConfig 中使用的数据库值,因此我需要在 WebSecurityConfig 之前完成数据源的初始化。

Oracle配置

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

Web安全配置

@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。我认为它会起作用。

关于java - Spring boot - 首先初始化数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53941851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com