使用@ConfigurationProperties读取yml配置

1.添加pom依赖

1

2

3

4

5

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-configuration-processor</artifactId>

    <optional>true</optional>

</dependency>

 2.application.yml文件中添加需要配置的属性,注意缩进

1

2

3

4

5

Myyml:

  username: cs

  password: 123456

  url: jdbc:mysql://localhost:3306/test

  driver: com.mysql.jdbc.Driver

 3.新建一个类,@Component注解表明是组件,可被自动发现,@ConfigurationProperties注解之前是location属性表明配置文件位置,prefix表示读取的配置信息的前缀,但新版本中废除了location属性(网上说是1.5.2之后),故只写前缀,默认读取application.yml中数据。重点!!一定要在这个类中写getter和setter,否则配置中的属性值无法自动注入

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

44

45

46

47

48

49

50

package com.cs.background.util;

 

 

import lombok.ToString;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.context.annotation.PropertySource;

import org.springframework.stereotype.Component;

 

 

@Component

@ConfigurationProperties(prefix = "Myyml")

public class User{

    //数据库连接相关

    private String url;

    private String driver;

    private String username;

    private String password;

 

    public String getUrl() {

        return url;

    }

 

    public void setUrl(String url) {

        this.url = url;

    }

 

    public String getDriver() {

        return driver;

    }

 

    public void setDriver(String driver) {

        this.driver = driver;

    }

 

    public String getUsername() {

        return username;

    }

 

    public void setUsername(String username) {

        this.username = username;

    }

 

    public String getPassword() {

        return password;

    }

 

    public void setPassword(String password) {

        this.password = password;

    }

}

 4.Controller类中执行自动注入,获取属性

1

2

3

4

5

//自动注入   

@Autowired

private User user;<br>

//方法体内获取属性值

String url=user.getUrl();<br>System.out.print(url);

 5.启动springboot入口类,调用对应controller对应的方法,控制台打印获取的值。

转载于:https://my.oschina.net/u/3684779/blog/3016548

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值