zoukankan      html  css  js  c++  java
  • springboot学习总结(六)外部配置

    Springboot允许使用properties文件、yaml文件或者命令行参数作为外部配置

    (一)常规属性配置(基于properties、yaml文件)

    请求http://localhost:8090/yml-value-test,返回结果如下:

    (二)命令行参数配置

    当Springboot是基于jar包运行时,可以使用命令行来修改yaml或者properties里面的配置文件

    一般按上面的逻辑,请求http://localhost:8090/yml-value-test。返回结果应该是vincent。

    不过我们可以通过这样的命令来修改配置的内容

     再次请求,返回结果如下:

    这种方式特别适用于那种小项目,在各种不同环境下需要修改配置内容的情况。

    (三)类型安全的配置(基于properties)

    使用@Value注入每个配置在实际项目中会显得格外麻烦,所以,springboot还提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties或者yaml文件中的配置和一个Bean及其属性关联,从而实现类型安全的配置

    yaml文件代码:

    people:
      name: vincent
      age: 10
    
    PeopleVo类代码:
    //@Component在这很重要,不把PeopleVo放入spring管理的生命周期内是无法实现类型安全配置的
    @Component
    @Data
    @ConfigurationProperties(prefix = "people")
    public class PeopleVo {
    
        private String name;
    
        private Integer age;
    }
    

     controller中测试

        @Autowired
        PeopleVo peopleVo;
    
        @RequestMapping("/properties-test")
        public String propertiesTest() {
            return peopleVo.toString();
        }
    

      返回结果:

  • 相关阅读:
    Codeforces 424C(异或)
    CodeForces
    Codeforces 424A (思维题)
    HDU 1197 Specialized Four-Digit Numbers
    ZOJ 2301 Color the Ball 线段树(区间更新+离散化)
    HDU 1106 排序
    Codefroces 831B Keyboard Layouts
    POJ 1082 Calendar Game
    HDU 多校联合 6045
    HDU 5976 Detachment
  • 原文地址:https://www.cnblogs.com/vincentren/p/10713587.html
Copyright © 2011-2022 走看看