Spring Boot提供了profile机制,可以快速的在不同情况下切换配置。
默认支持很多配置,从Spring整体的行为到具体的数据库,渲染引擎的行为都有支持。按照文档给出的配置名称和可选值操作就可以了。
有些时候我们需要基于profile来实现自己的一些配置,这个时候就需要自己完成一些后面的细节了。
举个比较常见的例子,profile分为了dev和prod两种。而项目本身需要支持上传图片功能,需要在profile中指定文件配置,比如
upload.path=C:Users315junAppDataLocalTemp
要获取这个值,我们有三种办法
- 从Env中读取
@Autowired
private Environment env;
String path=env.getProperty("upload.path");
- 构造一个Config类,通过注解自动注入
@ConfigurationProperties(prefix ="upload")
publicclass UpdatePathConfig {
private String path;
public StringgetPath() {
return path;
}
publicvoidsetPath(String path) {
this.path = path;
}
}
- 通过Value注解注入
这种方法最直接,在对应的字段上标注即可。
@Value("${upload.path}")
private String path;
发表回复