使用 Spring Boot,我可以使用以下内容实例化 JdbcTemplate
:
代码:
@Autowired
private JdbcTemplate jdbcTemplate;
属性:
spring.datasource.url=jdbc:postgresql://my_url:my_port/my_other_stuff
spring.datasource.username=my_user_name
spring.datasource.password=my_password
spring.datasource.driver-class-name=org.postgresql.Driver
这会创建一个DataSource类:org.apache.tomcat.jdbc.pool.DataSource
如何以编程方式设置 DataSource 用户名/密码?
我们的政策是不以纯文本形式存储凭据,我必须在我工作的地方使用特定的凭据提供程序。
最佳答案
如果您使用的是 jdbc
启动器,则可以使用 DataSourceBuilder
。此外,为了覆盖默认的自动配置 bean,您需要将 bean 标记为 @Primary
在我的例子中,我有以 datasource.postgres
前缀开头的属性。
例如
@ConfigurationProperties(prefix = "datasource.postgres")
@Bean
@Primary
public DataSource dataSource() {
return DataSourceBuilder
.create()
.build();
}
如果对你来说不可行,那么你可以使用
@Bean
@Primary
public DataSource dataSource() {
return DataSourceBuilder
.create()
.username("")
.password("")
.url("")
.driverClassName("")
.build();
}
关于java - 在 Spring Boot 中以编程方式配置 DataSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28821521/