配置文件的读取
把一些信息写在yml配置文件,就需要通过代码读取配置文件中的参数 例如:
以下是几种读取配置文件信息的方法:
@ConfigurationProperties+@EnableConfigurationProperties
js
@Data //生成get,set方法
@Component //表是这是Spring的组件
@ConfigurationProperties(prefix = "prefix") //读取的配置的前缀是 prefix
@EnableConfigurationProperties //和@ConfigurationProperties注解搭配使用,表示将配置文件的信息读取到@ConfigurationProperties注解标注的类
public class Method1 {
private String paramName;
}
@Value
js
@Data //生成get,set方法
@Component //表是这是Spring的组件
public class Method2 {
@Value("${prefix.paramName}") //表示读取的参数为 prefix 层级下的 paramName 对应的参数
private String param;
}
验证是否读取到
js
@RestController
public class BiuController {
@Autowired
private Method1 method1;
@Autowired
private Method2 method2;
@GetMapping("/method1")
public String method1(){
return method1.getParamName();
}
@GetMapping("/method2")
public String method2(){
return method2.getParam();
}
}
浏览器访问 localhost:9696/method1 和 localhost:9696/method2 (注:如果没有设置端口,访问8080)
配置文件的选择
一个项目肯定会有开发环境和生产环境,这两个环境的各种配置会有不一样,例如数据库的地址以及账号密码,这个时候我们就需要准备两个不同的配置文件
SpringBoot默认生效的配置文件是application.yml
在生产中我们需要生效的配置文件为application-prod.yml
在开发中我们需要生效的配置文件是applicaton-dev.yml
以下是几种选择配置文件的方法:
使用 application.yml文件选择
在application.yml 配置生效的配置文件为 prod
重新启动项目,用浏览器访问localhost:9696/method1 和 localhost:9696/method2
jar包运行时命令行添加参数
js
//选择生效的配置文件为application-dev.yml
java -jar your-app.jar --spring.profiles.active=dev
如果是在idea运行项目,则按照以下步骤添加运行参数
重新启动项目,用浏览器访问localhost:9696/method1 和 localhost:9696/method2
配置生效了,而且当用application.yml指定生效的配置文件为prod,用命令行指定生效的配置文件为dev,第二种方法是优先于第一种方法的