浅谈springboot 属性定义

时间:2021-11-28 15:27:23

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

简单属性自定义

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

?
1
2
# 自定义属性
boot.userName = yuxi

如何获取呢?

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

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

复杂属性自定义

在配置里配置属性

?
1
2
3
4
# 复杂属性
test.id=1
test.name=xiaoyuxixi
test.money=100000000

定义实体

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//需要注意这个属性是必须的
@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 +
        '}';
  }
}

注入属性

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@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)

?
1
2
3
4
# 配置文件获取
lakala.id=1
lakala.name=xiaoyuxixi
lakala.money=100000000

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

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

源码地址:springbootlearning.rar

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

原文链接:http://www.jianshu.com/p/27cb31ec1ab0?utm_source=tuicool&utm_medium=referral