亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot實(shí)現(xiàn)多環(huán)境配置文件切換

 更新時(shí)間:2025年05月25日 10:56:35   作者:程序員buddha2080  
這篇文章主要為大家詳細(xì)介紹了如何使用SpringBoot實(shí)現(xiàn)多環(huán)境配置文件切換功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

resources下application.yml、application-dev.yml、application-prod.yml多個(gè)配置文件。

spring:
  profiles:
    active: dev
spring:
  profiles:
    active: prod

一般都是通過修改spring.profiles.active值來修改加載不同環(huán)境的配置信息,可以把切換的dev/prod放到pom.xml文件來實(shí)現(xiàn),避免手動(dòng)修改。

1. 示例代碼結(jié)構(gòu)

2. pom文件

<?xml version="1.0" encoding="UTF-8"?>
<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>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.0</version>
    </parent>

    <groupId>vip.buddha</groupId>
    <artifactId>springboot-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <profiles>
        <!-- 開發(fā)環(huán)境 -->
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <package.environment>dev</package.environment>
            </properties>
        </profile>

        <!-- 生產(chǎn)環(huán)境 -->
        <profile>
            <id>prod</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <package.environment>prod</package.environment>
            </properties>
        </profile>
    </profiles>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <!-- 添加以下配置,明確包含YAML文件 -->
                <includes>
                    <include>**/*.yml</include>
                </includes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <delimiters>
                        <delimiter>${}</delimiter> <!-- 使用 ${} 作為占位符 -->
                    </delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters> <!-- 禁用默認(rèn)的 @..@ -->
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

3. application文件

spring:
  profiles:
    active: ${package.environment}

4. application-dev文件

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dev_db
    username: dev_user
    password: dev_password

5. application-prod文件

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/prod_db
    username: prod_user
    password: prod_password

6. TestController文件

package vip.buddha.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    @Value("${spring.datasource.url}")
    private String url;

    @Value("${spring.datasource.username}")
    private String username;

    @Value("${spring.datasource.password}")
    private String password;

    @RequestMapping("/test")
    public void test() {
        System.out.println("url:" + url);
        System.out.println("username:" + username);
        System.out.println("password:" + password);
    }
}

7. Main文件

package vip.buddha;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

???????@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

8. 效果演示

maven面板中,先clean,后選擇Profiles為dev還是prod,再install后啟動(dòng)Main主程序。瀏覽器訪問http://localhost:8080/test,接口控制臺(tái)就展示出預(yù)期結(jié)果來。

到此這篇關(guān)于SpringBoot實(shí)現(xiàn)多環(huán)境配置文件切換的文章就介紹到這了,更多相關(guān)SpringBoot配置文件切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于java實(shí)現(xiàn)停車場管理系統(tǒng)

    基于java實(shí)現(xiàn)停車場管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了基于java實(shí)現(xiàn)停車場管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • MyBatis中如何優(yōu)雅的使用枚舉詳解

    MyBatis中如何優(yōu)雅的使用枚舉詳解

    枚舉類型是我們在開發(fā)中經(jīng)常遇到的一個(gè)類型,最近在學(xué)習(xí)MyBatis,但是發(fā)現(xiàn)網(wǎng)上沒有詳細(xì)介紹MyBatis如何使用枚舉的相關(guān)文章,索性就自己寫一篇,下面這篇文章主要給大家介紹了關(guān)于在MyBatis中如何優(yōu)雅的使用枚舉的相關(guān)資料,需要的朋友可以參考借鑒。
    2017-08-08
  • Spring Boot中的@ConfigurationProperties注解解讀

    Spring Boot中的@ConfigurationProperties注解解讀

    在SpringBoot框架中,@ConfigurationProperties注解是處理外部配置的強(qiáng)大工具,它允許開發(fā)者將配置文件中的屬性自動(dòng)映射到Java類的字段上,實(shí)現(xiàn)配置的集中管理和類型安全,通過定義配置類并指定前綴,可以將配置文件中的屬性綁定到Java對象
    2024-10-10
  • 詳解Spring Boot實(shí)現(xiàn)日志記錄 SLF4J

    詳解Spring Boot實(shí)現(xiàn)日志記錄 SLF4J

    本篇文章主要介紹了詳解Spring Boot實(shí)現(xiàn)日志記錄 SLF4J,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Springboot集成規(guī)則引擎Drools方式

    Springboot集成規(guī)則引擎Drools方式

    這篇文章主要介紹了Springboot集成規(guī)則引擎Drools方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • SpringBoot動(dòng)態(tài)修改日志級別的操作

    SpringBoot動(dòng)態(tài)修改日志級別的操作

    這篇文章主要介紹了SpringBoot動(dòng)態(tài)修改日志級別的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹

    劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • SpringBoot異步使用@Async的原理以及線程池配置詳解

    SpringBoot異步使用@Async的原理以及線程池配置詳解

    在項(xiàng)目中當(dāng)訪問其他人的接口較慢時(shí),不想程序一直卡在耗時(shí)任務(wù)上,想程序能夠并行執(zhí)行,我們可以使用多線程來并行的處理任務(wù),也可以使用spring提供的異步處理方式@Async,這篇文章主要給大家介紹了關(guān)于SpringBoot異步使用@Async的原理以及線程池配置的相關(guān)資料
    2021-09-09
  • java實(shí)現(xiàn)簡單點(diǎn)贊功能

    java實(shí)現(xiàn)簡單點(diǎn)贊功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單點(diǎn)贊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Spring 處理 HTTP 請求參數(shù)注解的操作方法

    Spring 處理 HTTP 請求參數(shù)注解的操作方法

    這篇文章主要介紹了Spring 處理 HTTP 請求參數(shù)注解的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友參考下吧
    2024-04-04

最新評論