zoukankan      html  css  js  c++  java
  • 005 profile

    一 .概述

      在我们之前的属性文件之中有一个问题,就是我们在开发和测试环境下需要不断的修改属性文件.

      在springboot为了解决这个问题,提供了profile的方式解决这个问题.


    二 .演示

      我们首先创建三个配置文件,分别是application.properties,application-dev.properties,application-test.properties.

    这三个配置配置文件分别代表总配置文件,开发环境和测试环境.

      我们看看里面的内容:

    application.properties

    spring.profiles.active=dev

    application-dev.properties

    server.port=8888

    application-test.properties.

    server.port=9999

    上面的配置信息表示开启dev的环境,现在我们启动项目看看端口号是多少.  

    我们发现是8888.然后,我们修改激活test环境.

      我们发现现在端口就变成了9999.


     三. 通过profile环境注入不同的bean ,使用@Profile  

    @Configuration
    public class ProfileConfig {
    
        @Bean("username")
        @Profile("dev")
        public String usernameDEV() {
            return "dev";
        }
    
        @Bean("username")
        @Profile("test")
        public String usernameTEST() {
            return "test";
        }
    }

    上面的内容表示,我们在dev环境下注入dev,在test环境下注入test.

      我们下面进行测试:  

    @SpringBootTest(classes = SpringbootRunnerClass.class)
    @RunWith(SpringRunner.class)
    public class ProfileTest {
    
        @Autowired
        @Qualifier("username")
        private String username;
    
        @Test
        public void test() {
            System.out.println(username);
        }
    }

    我们通过修改激活状态,来激活不同的配置.我们发现现在我们通过profile属性来切换不同的配置了.


     四 .最佳实践

      通过上面的方式,我们了解到如何通过profile来完成环境的切换.

      那么,我们一般会将公共的属性方式在总配置文件,将不同的配置放在其他的属性文件之中,这样,我们就能通过切换激活状态来完成项目整体的配置信息的切换.  

  • 相关阅读:
    为什么我的tomcat启动不起来?
    图解leetcode —— 128. 最长连续序列
    java实现单链表增删改查
    搞定java String校招面试题
    java反射快速入门
    java中线程安全,线程死锁,线程通信快速入门
    理清Java中try-catch-finally带return的执行顺序
    Java可变参数与Collections工具类使用了解
    HashMap常见面试题整理
    ArrayList去除重复元素(多种方法实现)
  • 原文地址:https://www.cnblogs.com/trekxu/p/9739458.html
Copyright © 2011-2022 走看看