zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    UVa 1349 (二分图最小权完美匹配) Optimal Bus Route Design
    UVa 1658 (拆点法 最小费用流) Admiral
    UVa 11082 (网络流建模) Matrix Decompressing
    UVa 753 (二分图最大匹配) A Plug for UNIX
    UVa 1451 (数形结合 单调栈) Average
    UVa 1471 (LIS变形) Defense Lines
    UVa 11572 (滑动窗口) Unique Snowflakes
    UVa 1606 (极角排序) Amphiphilic Carbon Molecules
    UVa 11054 Wine trading in Gergovia
    UVa 140 (枚举排列) Bandwidth
  • 原文地址:https://www.cnblogs.com/moxiaotao/p/11577005.html
Copyright © 2011-2022 走看看