首页 > 编程 > Java > 正文

浅谈springboot 属性定义

2019-11-26 11:33:35
字体:
来源:转载
供稿:网友

本文介绍了浅谈springboot 属性定义,分享给大家。具体如下:

简单属性自定义

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

# 自定义属性boot.userName = yuxi

如何获取呢?

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

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

复杂属性自定义

在配置里配置属性

# 复杂属性test.id=1test.name=xiaoyuxixitest.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里内容会很多有很多属性不是公共的配置,放在这里不是有优雅,可以把这些配置单独写一个配置文件

配置文件获取

添加配置文件 (test.properties)

# 配置文件获取lakala.id=1lakala.name=xiaoyuxixilakala.money=100000000

获取属性文件(在实体上加入以下配置文件)

@Configuration@PropertySource(value = "classpath:test.properties")

源码地址:springbootlearning_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表