- 博客分类:
- spring-boot
spring boot使用application.properties默认了很多配置。但需要自己添加一些配置的时候,我们应该怎么做呢。
若继续在application.properties中添加
如:
- wisely2.name=wyf2
- wisely2.gender=male2
定义配置类:
- @ConfigurationProperties(prefix = "wisely2")
- public class Wisely2Settings {
- private String name;
- private String gender;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getGender() {
- return gender;
- }
- public void setGender(String gender) {
- this.gender = gender;
- }
- }
若新用新的配置文件
如我新建一个wisely.properties
- wisely.name=wangyunfei
- wisely.gender=male
需定义如下配置类
- @ConfigurationProperties(prefix = "wisely",locations = "classpath:config/wisely.properties")
- public class WiselySettings {
- private String name;
- private String gender;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getGender() {
- return gender;
- }
- public void setGender(String gender) {
- this.gender = gender;
- }
- }
最后注意在spring Boot入口类加上@EnableConfigurationProperties
- @SpringBootApplication
- @EnableConfigurationProperties({WiselySettings.class,Wisely2Settings.class})
- public class DemoApplication {
- public static void main(String[] args) {
- SpringApplication.run(DemoApplication.class, args);
- }
- }
使用定义的properties
在别的bean中可直接注入
- @Controller
- public class TestController {
- @Autowired
- WiselySettings wiselySettings;
- @Autowired
- Wisely2Settings wisely2Settings;
- @RequestMapping("/test")
- public @ResponseBody String test(){
- System.out.println(wiselySettings.getGender()+"---"+wiselySettings.getName());
- System.out.println(wisely2Settings.getGender()+"==="+wisely2Settings.getGender());
- return "ok";
- }
- }