[JAVA]@Value与@ConfigurationProperties

  1. 使用
    1. 一、@Value
      1. yml配置
      2. controller
      3. 访问地址
    2. 二、@ConfigurationProperties
      1. yml配置
      2. Bean实体
      3. controller
      4. 访问地址

有时重要的信息需要写在配置文件中,如application.yml或是如application.preperties,那么可以通过@Value或是@ConfigurationProperties获取到配置文件中的值。


使用

一、@Value

yml配置

person:
  name: 小信
  age: 20

controller

@RestController
@RequestMapping
public class PersonController {

    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age;

    @GetMapping("getInfo")
    public String Info() {
        return name + ":" + age;
    }
}

访问地址

http://127.0.0.1:8080/getInfo

响应 小信:20


使用该方式可以发现,若配置多个,那么都需要使用@Value注入多次,显得较为繁琐


二、@ConfigurationProperties

将配置文件中得属性与一个Bean相关联,实现类型安全的配置。

yml配置

student:
  name: 小信
  email: xiaoxin1218@qq.com

Bean实体

@ConfigurationProperties(prefix = "student")
public class StudentVO {
    private String name;
    private String email;

    public String getName() {
        return name;
    }

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

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

通过prefix指定配置文件的前缀

controller

@RestController
@RequestMapping
public class StudentController {
    @Autowired
    private StudentVO studentVO;

    @GetMapping("getStu")
    public String studentInfo() {
        return studentVO.getName() + "::" + studentVO.getEmail();
    }
}

@Autowired可直接注入

访问地址

http://127.0.0.1:8080/getStu
响应 小信::xiaoxin1218@qq.com


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xiaoxin1218@qq.com

文章标题:[JAVA]@Value与@ConfigurationProperties

文章字数:273

本文作者:周信

发布时间:2019-10-29, 00:49:59

最后更新:2019-10-29, 01:06:22

原始链接:http://zx21.xyz/2019/10/29/JAVA-Value与-ConfigurationProperties/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

可为我打赏鼓励~