springboot 的applicationContext 按照环境读取application-development.properties,application-prod.properties配置文件
时间: 2023-07-24 14:04:35 浏览: 100
在Spring Boot中,可以使用`@PropertySource`注解来指定读取的配置文件路径,同时可以使用`@Profile`注解指定不同的环境。假设我们有两个配置文件:`application-development.properties`和`application-prod.properties`,分别对应开发环境和生产环境。
1. 在`application-development.properties`中,我们可以定义以下属性:
```
my.property=development value
```
2. 在`application-prod.properties`中,我们可以定义以下属性:
```
my.property=production value
```
3. 在Spring Boot的启动类中,使用`@PropertySource`注解指定要读取的配置文件路径:
```java
@SpringBootApplication
@PropertySource("classpath:application-${spring.profiles.active}.properties")
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
4. 在需要使用配置属性的地方,可以通过`@Value`注解来注入:
```java
@Service
public class MyService {
@Value("${my.property}")
private String myProperty;
// ...
}
```
5. 最后,根据需要设置环境变量`spring.profiles.active`来指定当前的环境,例如:
```
java -jar myapp.jar --spring.profiles.active=prod
```
这样,就可以根据不同的环境读取对应的配置文件并注入对应的属性值。
阅读全文