springboot程序员

springboot 属性定义

2017-08-27  本文已影响75人  小鱼嘻嘻

SpringBootLearning

简单属性自定义

一般属性可以定义在通用的配置文件application.properties里面

# 自定义属性
boot.userName = yuxi

如何获取呢?

按照spring的获取方式就可以了,很简单

 @Value(value = "${boot.userName}")
 private String userName;

复杂属性自定义

# 复杂属性
test.id=1
test.name=xiaoyuxixi
test.money=100000000
//需要注意这个属性是必须的
@ConfigurationProperties(prefix = "test")
public class Account {
   private int id;
   private String name;
   private double money;

   public int getId() {
       return id;
   }

   public void setId(int id) {
       this.id = id;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public double getMoney() {
       return money;
   }

   public void setMoney(double money) {
       this.money = money;
   }

   @Override
   public String toString() {
       return "Account{" +
               "id=" + id +
               ", name='" + name + '\'' +
               ", money=" + money +
               '}';
   }
}

@RestController
// 这个属性也是必须的
@EnableConfigurationProperties({Account.class})
public class HelloController {
    //自定义属性
    @Value(value = "${boot.userName}")
    private String userName;
    @Autowired
    private Account account;

    /**
     * 复杂 属性自定义
     *
     * @return
     */
    @RequestMapping("/hard")
    public Object getHardProperties() {

        return account;
    }

    /**
     * welcome spring boot
     *
     * @return
     */
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index() {
        return "Greetings from Spring Boot! ";
    }

    /**
     * 简单 属性自定义
     *
     * @return
     */
    @RequestMapping("/user")
    public String getProperties() {
        System.out.println(userName);
        return userName;
    }
    
}

在配置完复杂的属性之后,会发现这样写的话 application.properties里内容会很多有很多属性不是公共的配置,放在这里不是有优雅,可以把这些配置单独写一个配置文件

配置文件获取

# 配置文件获取
lakala.id=1
lakala.name=xiaoyuxixi
lakala.money=100000000
@Configuration
@PropertySource(value = "classpath:test.properties")

源码地址:
http://git.oschina.net/xiaoyuxi/springbootlearning

上一篇 下一篇

猜你喜欢

热点阅读