spring boot中将数据库中数据改为从主干配置中获取的步骤
时间: 2024-10-17 22:05:38 浏览: 34
在Spring Boot应用中,如果你想要从主配置文件而不是数据库直接获取敏感信息(如数据库连接信息),可以按照以下步骤操作:
1. **修改数据库配置**:
删除或注释掉application.properties或application.yml文件中的数据库连接属性,比如`spring.datasource.url`, `username`, 和 `password`等。
2. **创建主配置文件**:
创建一个新的配置文件,如application-prod.properties(生产环境)或application-dev.properties(开发环境)。在这个文件中,只包含你需要从配置中心获取的属性,如:
```
db.url=your-db-url
db.username=your-db-username
db.password=your-db-password
```
使用环境变量替换实际值,以便在不同的环境中切换。
3. **启用环境感知**:
如果你在使用Spring Cloud Config Server作为配置中心,确保它已经部署并且运行。然后,设置Spring Boot应用的环境,如在application.properties中加入:
```
spring.cloud.config.uri=http://config-server-url:port/
```
或者使用YAML语法:
```yaml
spring:
cloud:
config:
uri: http://config-server-url:port/
```
4. **配置环境读取策略**:
在Spring Boot的启动类或配置类中,使用`@Profile`注解选择在特定环境下应用的配置。例如,使用`@Profile("prod")`来限制在生产环境加载生产配置。
5. **使用`@ConfigurationProperties`注解**:
如果你有自定义配置类来接收这些属性,可以在该类上加上`@ConfigurationProperties(prefix="db")`来自动绑定配置文件中的键值对。
6. **重启应用**:
最后,重启你的应用,Spring Boot会从配置服务器或环境变量中加载相应的配置,而不是直接使用数据库连接信息。
阅读全文