美文网首页
SpringBoot多环境配置与properties读取

SpringBoot多环境配置与properties读取

作者: 传说中的汽水枪 | 来源:发表于2018-12-14 17:41 被阅读20次

    多环境配置

    环境参数配置文件列表:


    image.png

    application.properties

    #dev: 开发环境
    #pro: 正式环境
    #pre: 预发布环境
    #test: 测试环境
    spring.profiles.active=dev
    default.application.name=label
    server.port=9108
    mybatis.mapper-locations=classpath:mapper/*.xml
    

    第一个参数spring.profiles.active(假设值是dev)其中之一作用是最后会读取application.propertiesapplication-{dev}.properties这两个文件
    我们定义任意字符串表明开发环境,正式环境,预发布环境,测试环境

    properties读取

    在这里使用如下方法读取的:

    import org.springframework.core.env.Environment;
    @RequestMapping("/home")
    @Api("Default controller")
    @RestController
    public class HomeController {
        @Autowired
        Environment environment;
        @RequestMapping(value = "test",method = RequestMethod.GET)
        public DataResult test() {
            // 这个在application.properites里
            String value1 = this.environment.getProperty("com.all.value");
            // 这个在application-dev.properites里
            String value2 = this.environment.getProperty("com.dev.value");
            // 这个在application-test.properites里
            String value3 = this.environment.getProperty("com.test.value");
            Map<String, Object> res = new HashMap<>();
            res.put("com.all.value", value1);  
            res.put("com.dev.value", value2);
            res.put("com.test.value", value3);
            return DataResult.ok(res, ErrorCode.Success);
        }
    }
    
    • 如果spring.profiles.active=dev,那么value1和value2是有值,value3没有值
    • 如果spring.profiles.active=test,那么value1和value3是有值,value2没有值
    • 如果spring.profiles.active=pro,那么value1是有值,value2和value3没有值

    相关文章

      网友评论

          本文标题:SpringBoot多环境配置与properties读取

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