浅谈springboot 属性定义

时间:2021-05-19

本文介绍了浅谈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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章