• spring boot 项目属性配置


    一、系统配置文件

    1.application.properties是新建springboot项目后默认得配置文件

    配置的示例如下

    server.port=8080
    server.context-path=/girl

    2.推荐使用application.yml的方式

    配置的示例如下

    server:
      port: 8082
      context-path: /girl

    二、YAML

    YAML 语言教程

    三、实际应用

    1.@value 的用法

    application.yml

    server:
    port: 8082
    cupSize: B
    age: 18
    content: "cupSize: ${cupSize}, age: ${age}"

    HelloController中对应的注入方式

    @RestController
    public class HelloController {

    @Value("${cupSize}")
    private String cupSize;

    @Value("${age}")
    private String age;

    @Value("${content}")
    private String content;

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public String say (){
    return cupSize+","+age+";"+content;
    }
    }

    浏览器输出为B,18;cupSize: B, age: 18

    2.@component 和@ConfigurationProperties

     创建实体GirlProperties,其中(prefix="girl")代表适配 配置文件中所有girl开头的配置

    package com.dechy.girl.girl;
    
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix="girl")
    public class GirlProperties {
        private String cupSize;
        private Integer age;
    
        public String getCupSize (){
            return cupSize;
        }
    
        public void setCupSize (String cupSize){
            this.cupSize = cupSize;
        }
    
        public Integer getAge (){
            return age;
        }
    
        public void setAge (Integer age){
            this.age = age;
        }
    }

    对应的controller代码为

    package com.dechy.girl.girl;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
        @Autowired
        private GirlProperties girlProperties;
    
        @RequestMapping(value = "/hello", method = RequestMethod.GET)
        public String say (){
            return girlProperties.getCupSize();
        }
    }

    配置为

    server:
      port: 8082
    girl:
      cupSize: B
      age: 18

    3.多环境使用不同的配置文件

    将resources下的application.yml复制为application-dev.yml和application-prod.yml

    内容分别如下

    server:
      port: 8082
    girl:
      cupSize: B
      age: 18
    server:
      port: 8081
    girl:
      cupSize: F
      age: 18

    将application.yml修改为,代表我们使用dev这个配置

    spring:
      profiles:
        active: dev

    但是这样改使用仍然很麻烦,解决方法如下

    使用如下方式启动

    java -jar target/girl-0.0.1-SNAPSHOT.jar --spring.profile.active=dev

  • 相关阅读:
    oh forever love~
    PostgreSQL数据库忘记密码的解决方案
    vue
    无法启动postgresql的错误
    Goaccess解析nginx日志备忘
    pg备份恢复与设置编码
    django+uwsgi+nginx+postgresql备忘
    Git 直接推送到生产服务器
    为了性能, 数据操作尽量在数据库层面进行
    简单理解call_user_func和call_user_func_array两个函数
  • 原文地址:https://www.cnblogs.com/knyel/p/7799583.html
Copyright © 2020-2023  润新知