springboot读取配置信息、环境变量

2、读取配置文件

2.1 读取核心配置文件

核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。

核心配置文件application.properties内容如下:

server.port=9090

test.msg=Hello World Springboot!

2.1.1使用@Value方式(常用):

@RestController

public class WebController {

    @Value("${test.msg}")

    private String msg;

    @RequestMapping(value = "index", method = RequestMethod.GET)

    public String index() {

        return "The Way 1 : " +msg;

    }

}

2.1.2使用Environment方式

@RestController

public class WebController {

    @Autowired

    private Environment env;

    @RequestMapping(value = "index2", method = RequestMethod.GET)

    public String index2() {

        return "The Way 2 : " + env.getProperty("test.msg");

    }

}

2.1.3 让springboot转换为java类

@Component

@ConfigurationProperties(prefix="people")

public class People {

    private String name;

    private Integer age;

    private List<String> address;

    private Phone phone;

    public String getName() {

        return name;

}

public class Rest {

    

    @Autowired

private People me;

    @RequestMapping("/bbb")

    public String hello() {

        return " good " + me.getName() + me.getAge() + me.getAddress() + me.getPhone().getNumber();

    }

}

2.2 读取自定义配置文件
为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,这里在resources/config目录下创建配置文件my-web.properties

@ConfigurationProperties(locations = "classpath:config/my-web.properties", prefix = "web")

@Component

public class MyWebConfig {

    private String name;

    private String version;

    private String author;

    public String getAuthor() {

        return author;

    }

2.3 读取环境变量

微服务开发时,一些配置信息(比如数据库用户名,密码)从配置文件中读取,但在paas中,需要从docker的环境变量中读取。

server:

  port: 9090

people:

#  name: "hhh"

#  name: ${COMPUTERNAME}

  name: ${M2_HOME:abc}  #首先取环境变量,如果环境变量中没有,就取abc这个固定值

  age: 38

  address:

    - 111

    - 222

  phone:

    number: 13026613740
————————————————
版权声明:本文为CSDN博主「ggaofeng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ggaofengg/article/details/79380055

猜你喜欢

转载自www.cnblogs.com/moxiaotao/p/11577005.html
今日推荐