springboot中使用自定义的properties属性

在application.properties中添加属性
ai.name=明
ai.age=22
ai.sex=男
定义配置类如下,前缀(prefix)可自定义修改,本文为 ai。
@ConfigurationProperties(prefix = “ai”)
public class PropertiesSetting1 {
private String name;
private Long age;
private String sex;

  1. public String getName() {
  2. return name;
  3. }
  4. public void setName(String name) {
  5. this.name = name;
  6. }
  7. public Long getAge() {
  8. return age;
  9. }
  10. public void setAge(Long age) {
  11. this.age = age;
  12. }
  13. public String getSex() {
  14. return sex;
  15. }
  16. public void setSex(String sex) {
  17. this.sex = sex;
  18. }

}
若使用新的配置文件,需新建一个ai.properties。
ai.name=婷婷
ai.age=22
ai.sex=女
配置如下配置类,需要指定ai.properties的位置。
@ConfigurationProperties(prefix = “ai”,locations=”classpath:config/ai.properties”)
public class Properties1Setting {
private String name;
private Long age;
private String sex;

  1. public String getName() {
  2. return name;
  3. }
  4. public void setName(String name) {
  5. this.name = name;
  6. }
  7. public Long getAge() {
  8. return age;
  9. }
  10. public void setAge(Long age) {
  11. this.age = age;
  12. }
  13. public String getSex() {
  14. return sex;
  15. }
  16. public void setSex(String sex) {
  17. this.sex = sex;
  18. }

}

在Controller中调用,
@Autowired
private PropertiesSetting propertiesSetting;
@Autowired
private Properties1Setting properties1Setting;

  1. @RequestMapping("/properties")
  2. public @ResponseBody String properties(){
  3. System.out.println("姓名:"+propertiesSetting.getName()+",年龄:"+propertiesSetting.getAge()
  4. +",性别:"+propertiesSetting.getSex());
  5. System.out.println("姓名:"+properties1Setting.getName()+",年龄:"+properties1Setting.getAge()
  6. +",性别:"+properties1Setting.getSex());
  7. return "ok";
  8. }

在项目的启动类上面添加@EnableConfigurationProperties注解,如下。

@SpringBootApplication
@EnableConfigurationProperties({PropertiesSetting.class,Properties1Setting.class})
public class SpringbootNewApplication {

  1. public static void main(String[] args) {
  2. SpringApplication.run(SpringbootNewApplication.class, args);
  3. }

运行项目,控制台输出结果,到此配置完成。
(idea为例)如果控制台输出的中文是乱码,需要在
File—>Settings—>File Encodings进行设置如下图。

重新运行,乱码问题解决。

posted @ 2019-01-18 17:29  明天,你好啊  阅读(2618)  评论(0编辑  收藏  举报