zoukankan      html  css  js  c++  java
  • Spring Boot(五)----profile文件路径设置

    SpringBoot-profile解析

    SpringBoot中使用配置文件application.properties和application.yml两种方式,在这两种方式下分别对应各自的profile配置方式。

    一.Properties配置文件环境切换

    1、application.properties

    首先创建application.properties配置文件,配置文件中需要声明切换的环境名称:

    spring.profiles.active=prod
    

    接下来,需要创建两个profile环境,分别为application-dev.properties和application-prod.properties环境,在其中创建一个对应的person类对象。

    application-dev.properties

    person.name=a
    person.age=10
    

    application-prod.properties

    person.name=b
    person.age=21
    

    运行结果如下:

    • 1.当环境切换至dev开发环境下时:

    2.当环境切换至prod环境下时:

    二.yaml配置文件环境切换

    1、application.yml

    在yaml文件中,分为三个document,第一个document为默认的配置文件,第二个document为dev1的配置文件,第三部分为dev2的配置文件,在默认的document中使用spring.profile.active设置使用哪个document的配置。

    spring:
      profiles:
        active: dev1
    ---
    spring:
      profiles: dev1
    person:
      age: 22
      name: zk
    
    ---
    spring:
      profiles: dev2
    person:
      age: 24
      name: zjn
    

    设置profile为dev2时,启动运行结果如下:

    设置profile为dev1时,启动运行结果如下:

     

    项目的目录结构如下:

    下面是一些公共文件

    ConfigBean.java

    package com.zk.myspringboot;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class ConfigBean {
    	@Autowired
    	Person person;
    	
    	@RequestMapping("/demo")
    	public Person sayHello(){
    		return person;
    	}
    }
    

    MainApp.java

    package com.zk.myspringboot;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    
    @SpringBootApplication
    public class MainApp {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		SpringApplication.run(MainApp.class, args);
    	}
    
    }
    

    Person.java

    package com.zk.myspringboot;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix = "person")
    public class Person {
    	private String name;
    	private Integer age;
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public Integer getAge() {
    		return age;
    	}
    	public void setAge(Integer age) {
    		this.age = age;
    	}
    	@Override
    	public String toString() {
    		return "Person [name=" + name + ", age=" + age + "]";
    	}
    	
    }
    

    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.zk.myspringboot_006</groupId>
      <artifactId>myspringBoot_006</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
        </plugins>
        <finalName>myspringboot_006</finalName>
      </build>
      <dependencies>
    	    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-configuration-processor</artifactId>
    			<optional>true</optional>
    		</dependency>
    		<!-- 继承父包 -->
    		<dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
             </dependency>
             <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
            </dependency>
    	</dependencies>
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>1.4.3.RELEASE</version>
    	</parent>  
    </project>
    

      

  • 相关阅读:
    outlook配置其他邮箱登录如qq邮箱或登录无邮件信息记录
    数据库有自增字段插入数据报错 “列名或所提供值的数目与表定义不匹配。”解决方法
    asp.net编译中出现 数据库 'C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA est1.mdf' 已存在。请选择其他数据库名称。
    SQL使用UPDATE和SUBSTRING截取字符串方法,从头截取到某个位置,截取中间片段,字符串中间截取到末尾或删除前面的字符串
    SQL使用UPDATE和SUBSTRING截取字符串方法,从头截取到某个位置,截取中间片段,字符串中间截取到末尾或删除前面的字符串
    ASP.NET使用window.event.keycode来获取按下的键盘值!
    关于QPS、TPS、PV、UV、GMV、IP、RPS的名词解释!
    java冒泡排序
    java快速获取数组中第二大的数
    java阶乘
  • 原文地址:https://www.cnblogs.com/longlyseul/p/12567312.html
Copyright © 2011-2022 走看看