在SpringBoot应用程序中使用JdbcTemplates时,通常我们在application.properties中设置以下两个字段,例如
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=admin
然后在我们的应用程序中@Autowire JdbcTemplate 并运行我们的查询。是否允许使用java代码而不是application.properties来配置spring.datasource.password=admin。我不想将密码放在 application.properties 中。
也许配置 DataSource bean 并设置其中的所有值。
希望它适合你
@Configuration
public class DataSourceConfig {
@Bean
public DataSource getDataSource() {
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.driverClassName("org.h2.Driver");
dataSourceBuilder.url("jdbc:h2:mem:test");
dataSourceBuilder.username("SA");
dataSourceBuilder.password("");
return dataSourceBuilder.build();
}
}
从属性中删除此信息并写在此处。请注意,硬编码密码也不安全,代码可能会被反编译。最好从环境中读取密码
dataSourceBuilder.password(System.getEnv("MY_PASSWORD")
这个例子借自https://www.baeldung.com/spring-boot-configure-data-source-programmatic