美文网首页
Srping boot 配置文件详解

Srping boot 配置文件详解

作者: 邪王真眼大哥成 | 来源:发表于2017-10-12 11:14 被阅读0次

    Srping boot 配置文件详解

    Spring Boot 自动化配置

    Spring Boot 提供了对应用进行自动化配置。相比以前 XML 配置方式,很多显式方式申明是不需要的。Spring boot 开发起来,使我们就简化了很多步骤和不必要的代码。

    自定义属性与加载

    1. 使用application.properties
    2. 使用application.yml

    <font color=#ff0000 size=4 face="黑体">使用application.properties方式</font>

    person.name=测试环境
    person.age=22
    person.desc=我叫 ${person.name},今年${person.age}
    
    person.user.name=开发
    person.user.age=22
    person.user.desc=我叫 ${person.name},今年${person.age}
            
    server.port=8080
    

    <font color=#ff0000 size=4 face="黑体">使用application.yml</font>

    person:
      name: 生产环境
      age: 22
      desc: 我叫 ${person.name},生产了${person.age}
      user:
        name: 开发
        age: 22
        desc: 我叫 ${person.name},生产了${person.age}
    
    server:
      port: 80
    

    获取属性的方法也有2个种

    方法一:直接获取,利用@Value,直接写出属性的名字,来获取属性的值

    @Setter
    @Getter
    @Component
    public class Person {
        @Value("${person.name}")
        private String name;
        @Value("${person.age}")
        private Integer age;
        @Value("${person.desc}")
        private String desc;
    }
    

    方法二:使用前缀获取,利用@ConfigurationProperties注解配置前缀。然后属性名对应一样即可(这个更方便,建议用这种)

    @Setter
    @Getter
    @Component
    @ConfigurationProperties(prefix = "person.user")
    public class User {
        private String name;
        private Integer age;
        private String desc;
    }
    

    写一个Controller 来测试效果

    @RestController
    public class Hello {
    
        @Autowired
        private User user;
        @Autowired
        private Person person;
    
    
        @GetMapping(value = "user")
        public String user(){
            return user.getDesc();
        }
    
        @GetMapping(value = "person")
        public String person(){
            return person.getDesc();
        }
    }
    
    小Q截图-20171012105248.png 小Q截图-20171012105302.png

    环境切换

    在实际的开发中,因为数据库配置、Redis 配置、注册中心和日志配置等的配置不同,所以我们有时候需要多种配置环境。例如,测试环境配置、开发环境配置、生产环境配置等。

    小Q截图-20171012110119.png
    • application-dev.properties:开发环境
    • application-test.properties:测试环境
    • application-prod.properties:生产环境

    在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

    如:spring.profiles.active=test就会加载application-test.properties配置文件内容

    注意点:application.properties 配置中文值的时候,读取出来的属性值会出现乱码问题。

    application.yml则不会出现乱码问题

    参考文章:

    http://blog.didispace.com/springbootproperties/
    http://www.bysocket.com/?p=1786

    相关文章

      网友评论

          本文标题:Srping boot 配置文件详解

          本文链接:https://www.haomeiwen.com/subject/tjpnyxtx.html