最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot多環(huán)境配置數(shù)據(jù)讀取方式

 更新時(shí)間:2025年07月31日 11:05:27   作者:AA-代碼批發(fā)V哥  
SpringBoot通過環(huán)境隔離機(jī)制,支持properties/yaml/yml多格式配置,結(jié)合@Value、Environment和@ConfigurationProperties實(shí)現(xiàn)靈活配置讀取,下面給大家介紹SpringBoot之多環(huán)境配置全解析,感興趣的朋友一起看看吧

一個(gè)SpringBoot項(xiàng)目在實(shí)際開發(fā)中通常需要在開發(fā)環(huán)境測(cè)試環(huán)境生產(chǎn)環(huán)境中切換運(yùn)行,而不同環(huán)境的配置(如數(shù)據(jù)庫(kù)連接、端口號(hào)、日志級(jí)別)往往不同,手動(dòng)修改配置不僅繁瑣,還容易出錯(cuò),而SpringBoot提供了靈活的多環(huán)境配置機(jī)制。

一、多環(huán)境配置的核心思路

多環(huán)境配置的核心是“環(huán)境隔離”:將不同環(huán)境的配置分離到獨(dú)立文件中,通過指定“環(huán)境標(biāo)識(shí)”自動(dòng)加載對(duì)應(yīng)配置。

核心優(yōu)勢(shì)

  • 避免手動(dòng)修改配置,減少人為錯(cuò)誤;
  • 配置與環(huán)境強(qiáng)關(guān)聯(lián),清晰易維護(hù);
  • 支持靈活切換環(huán)境,適應(yīng)不同階段需求。

二、3種配置文件格式詳解

SpringBoot支持propertiesyamlyml三種配置文件格式,其中yaml/yml以簡(jiǎn)潔的縮進(jìn)語(yǔ)法更受歡迎。

2.1 properties格式(傳統(tǒng)格式)

properties文件采用key=value格式,多環(huán)境配置通過“文件名+環(huán)境標(biāo)識(shí)”區(qū)分。

1. 基礎(chǔ)配置文件(application.properties)

存放公共配置(所有環(huán)境共享的配置):

# 公共配置(所有環(huán)境共享)
server.port=8080 # 默認(rèn)端口(可被環(huán)境配置覆蓋)
spring.application.name=multi-env-demo

2. 環(huán)境專屬配置文件

開發(fā)環(huán)境:application-dev.properties

# 開發(fā)環(huán)境配置
server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/dev_db
spring.datasource.username=dev_user
spring.datasource.password=dev_pwd

測(cè)試環(huán)境:application-test.properties

# 測(cè)試環(huán)境配置
server.port=8082
spring.datasource.url=jdbc:mysql://test-server:3306/test_db
spring.datasource.username=test_user
spring.datasource.password=test_pwd

生產(chǎn)環(huán)境:application-prod.properties

# 生產(chǎn)環(huán)境配置
server.port=80
spring.datasource.url=jdbc:mysql://prod-server:3306/prod_db
spring.datasource.username=prod_user
spring.datasource.password=prod_pwd

2.2 yaml/yml格式(推薦)

yaml和yml是同一種格式(后綴不同),采用縮進(jìn)+鍵值對(duì)語(yǔ)法,結(jié)構(gòu)清晰,支持列表和嵌套。

1. 單文件多環(huán)境配置(推薦)

yaml支持在一個(gè)文件中通過spring.profiles區(qū)分環(huán)境,無(wú)需創(chuàng)建多個(gè)文件:

# application.yml
# 公共配置
spring:
  application:
    name: multi-env-demo
  profiles:
    active: dev # 默認(rèn)激活開發(fā)環(huán)境
# 開發(fā)環(huán)境(通過---分隔)
---
spring:
  profiles: dev
server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dev_db
    username: dev_user
    password: dev_pwd
# 測(cè)試環(huán)境
---
spring:
  profiles: test
server:
  port: 8082
spring:
  datasource:
    url: jdbc:mysql://test-server:3306/test_db
    username: test_user
    password: test_pwd
# 生產(chǎn)環(huán)境
---
spring:
  profiles: prod
server:
  port: 80
spring:
  datasource:
    url: jdbc:mysql://prod-server:3306/prod_db
    username: prod_user
    password: prod_pwd

語(yǔ)法說明

  • ---分隔不同環(huán)境的配置塊;
  • spring.profiles: dev指定環(huán)境標(biāo)識(shí)(與properties的-dev對(duì)應(yīng));
  • spring.profiles.active: dev指定默認(rèn)激活的環(huán)境。

2. 多文件yaml配置(類似properties)

也可將不同環(huán)境配置拆分到獨(dú)立文件:

  • 公共配置:application.yml
  • 開發(fā)環(huán)境:application-dev.yml
  • 測(cè)試環(huán)境:application-test.yml
  • 生產(chǎn)環(huán)境:application-prod.yml

2.3 三種格式的對(duì)比與選擇

格式語(yǔ)法特點(diǎn)優(yōu)勢(shì)劣勢(shì)適用場(chǎng)景
propertieskey=value,無(wú)縮進(jìn)兼容性好,適合簡(jiǎn)單配置冗余代碼多,不支持嵌套傳統(tǒng)項(xiàng)目、簡(jiǎn)單配置
yaml/yml縮進(jìn)語(yǔ)法,支持嵌套簡(jiǎn)潔直觀,支持復(fù)雜結(jié)構(gòu)對(duì)縮進(jìn)敏感(空格錯(cuò)誤易出錯(cuò))推薦使用,尤其是復(fù)雜配置

建議:優(yōu)先使用單文件yaml配置,減少文件數(shù)量,提高維護(hù)效率。

三、多環(huán)境配置的數(shù)據(jù)讀取方式

SpringBoot提供了多種方式讀取配置文件中的數(shù)據(jù),滿足不同場(chǎng)景需求。

3.1 @Value注解(簡(jiǎn)單值讀取)

@Value("${key}")用于讀取簡(jiǎn)單類型的配置(字符串、數(shù)字等),直接注入到變量中。

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class EnvController {
    // 讀取端口號(hào)
    @Value("${server.port}")
    private int port;
    // 讀取數(shù)據(jù)庫(kù)URL(支持默認(rèn)值:${key:默認(rèn)值})
    @Value("${spring.datasource.url:jdbc:mysql://localhost:3306/default_db}")
    private String dbUrl;
    @GetMapping("/env")
    public String getEnvInfo() {
        return "當(dāng)前端口:" + port + ",數(shù)據(jù)庫(kù)地址:" + dbUrl;
    }
}

特點(diǎn)

  • 適用于讀取零散的簡(jiǎn)單配置;
  • 支持默認(rèn)值(${key:默認(rèn)值}),當(dāng)配置不存在時(shí)使用默認(rèn)值;
  • 不適合讀取復(fù)雜對(duì)象(如嵌套結(jié)構(gòu))。

3.2 Environment對(duì)象(靈活讀?。?/h3>

Environment是Spring的核心接口,可通過getProperty("key")方法動(dòng)態(tài)讀取配置,支持默認(rèn)值和類型轉(zhuǎn)換。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class EnvController {
    @Autowired
    private Environment env;
    @GetMapping("/env2")
    public String getEnvInfo2() {
        // 讀取字符串
        String username = env.getProperty("spring.datasource.username");
        // 讀取整數(shù)(指定類型)
        Integer port = env.getProperty("server.port", Integer.class);
        // 讀取并指定默認(rèn)值
        String driver = env.getProperty("spring.datasource.driver-class-name", 
                                       "com.mysql.cj.jdbc.Driver");
        return "用戶名:" + username + ",端口:" + port + ",驅(qū)動(dòng):" + driver;
    }
}

特點(diǎn)

  • 適合動(dòng)態(tài)讀取配置(如根據(jù)條件讀取不同key);
  • 支持類型轉(zhuǎn)換(無(wú)需手動(dòng)強(qiáng)轉(zhuǎn));
  • 需注入Environment對(duì)象,稍顯繁瑣。

3.3 @ConfigurationProperties(對(duì)象封裝,推薦)

@ConfigurationProperties用于將配置文件中的一組相關(guān)配置封裝為Java對(duì)象,適合讀取復(fù)雜配置(如數(shù)據(jù)庫(kù)連接信息、自定義配置)。

步驟1:定義配置類并綁定配置

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
// 綁定前綴為"spring.datasource"的配置
@ConfigurationProperties(prefix = "spring.datasource")
@Component // 注冊(cè)為Spring組件
public class DataSourceProperties {
    private String url;
    private String username;
    private String password;
    private String driverClassName;
    // 必須提供getter和setter(Spring通過setter注入)
    public String getUrl() { return url; }
    public void setUrl(String url) { this.url = url; }
    public String getUsername() { return username; }
    public void setUsername(String username) { this.username = username; }
    public String getPassword() { return password; }
    public void setPassword(String password) { this.password = password; }
    public String getDriverClassName() { return driverClassName; }
    public void setDriverClassName(String driverClassName) { this.driverClassName = driverClassName; }
}

步驟2:在配置文件中添加對(duì)應(yīng)配置

# application.yml(開發(fā)環(huán)境)
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dev_db
    username: dev_user
    password: dev_pwd
    driver-class-name: com.mysql.cj.jdbc.Driver

步驟3:使用配置對(duì)象

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class EnvController {
    @Autowired
    private DataSourceProperties dataSourceProps;
    @GetMapping("/db")
    public String getDbInfo() {
        return "數(shù)據(jù)庫(kù)配置:" + 
               "URL=" + dataSourceProps.getUrl() + 
               ",用戶名=" + dataSourceProps.getUsername();
    }
}

特點(diǎn)

  • 適合讀取一組相關(guān)配置(如數(shù)據(jù)庫(kù)、緩存、第三方API等);
  • 支持嵌套結(jié)構(gòu)(如spring.redis.host、spring.redis.port可封裝為RedisProperties);
  • 配合@Validated可實(shí)現(xiàn)配置校驗(yàn)(如非空檢查、格式校驗(yàn))。

四、自定義對(duì)象封裝(復(fù)雜配置示例)

對(duì)于自定義的復(fù)雜配置(如支付接口參數(shù)、緩存策略),@ConfigurationProperties同樣適用。

示例:封裝支付接口配置

1. 配置文件(application.yml)

# 自定義支付配置
pay:
  api:
    url: https://pay-dev-api.com
    timeout: 3000 # 超時(shí)時(shí)間(毫秒)
  merchant:
    id: dev_merchant_123
    key: dev_pay_key
  supported-types: # 支持的支付方式(列表)
    - WECHAT
    - ALIPAY

2. 定義配置類

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
@ConfigurationProperties(prefix = "pay")
@Component
public class PayProperties {
    private Api api;
    private Merchant merchant;
    private List<String> supportedTypes;
    // 內(nèi)部類:API配置
    public static class Api {
        private String url;
        private int timeout;
        // getter和setter
    }
    // 內(nèi)部類:商戶配置
    public static class Merchant {
        private String id;
        private String key;
        // getter和setter
    }
    // 外部類的getter和setter
    public Api getApi() { return api; }
    public void setApi(Api api) { this.api = api; }
    public Merchant getMerchant() { return merchant; }
    public void setMerchant(Merchant merchant) { this.merchant = merchant; }
    public List<String> getSupportedTypes() { return supportedTypes; }
    public void setSupportedTypes(List<String> supportedTypes) { this.supportedTypes = supportedTypes; }
}

3. 使用自定義配置

@Autowired
private PayProperties payProps;
@GetMapping("/pay")
public String getPayInfo() {
    return "支付API:" + payProps.getApi().getUrl() + 
           ",支持方式:" + payProps.getSupportedTypes();
}

五、多環(huán)境啟動(dòng)方式

SpringBoot提供了多種方式指定激活的環(huán)境,靈活滿足不同場(chǎng)景(開發(fā)、測(cè)試、部署)。

5.1 配置文件中指定(默認(rèn)方式)

application.ymlapplication.properties中通過spring.profiles.active指定:

# application.yml
spring:
  profiles:
    active: test # 默認(rèn)激活測(cè)試環(huán)境
# application.properties
spring.profiles.active=prod # 默認(rèn)激活生產(chǎn)環(huán)境

5.2 命令行參數(shù)指定(優(yōu)先級(jí)最高)

啟動(dòng)jar包時(shí)通過--spring.profiles.active參數(shù)指定環(huán)境,優(yōu)先級(jí)高于配置文件:

# 啟動(dòng)開發(fā)環(huán)境
java -jar multi-env-demo.jar --spring.profiles.active=dev
# 啟動(dòng)生產(chǎn)環(huán)境(指定端口)
java -jar multi-env-demo.jar --spring.profiles.active=prod --server.port=8080

優(yōu)勢(shì):部署時(shí)無(wú)需修改配置文件,直接通過命令切換環(huán)境。

5.3 IDE中指定(開發(fā)調(diào)試)

在IDEA/Eclipse中配置啟動(dòng)參數(shù),方便開發(fā)調(diào)試:

IDEA配置步驟:

  1. 打開Run/Debug Configurations;
  2. 在Program arguments中添加:--spring.profiles.active=dev
  3. 啟動(dòng)項(xiàng)目,自動(dòng)加載開發(fā)環(huán)境配置。

5.4 環(huán)境變量指定(服務(wù)器部署)

在服務(wù)器中通過環(huán)境變量SPRING_PROFILES_ACTIVE指定,適合容器化部署(如Docker、K8s):

# Linux環(huán)境設(shè)置環(huán)境變量
export SPRING_PROFILES_ACTIVE=prod
# 啟動(dòng)項(xiàng)目(自動(dòng)讀取環(huán)境變量)
java -jar multi-env-demo.jar

Docker示例

FROM openjdk:8-jdk-slim
ENV SPRING_PROFILES_ACTIVE=prod # 設(shè)置環(huán)境變量
COPY target/multi-env-demo.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

六、Maven多環(huán)境控制(兼容聯(lián)動(dòng))

通過Maven的profiles配置,可在打包時(shí)自動(dòng)指定SpringBoot的激活環(huán)境,實(shí)現(xiàn)“一次打包,多環(huán)境部署”。

6.1 配置pom.xml

pom.xml中定義Maven環(huán)境,并通過resource filtering替換配置文件中的占位符:

<project>
    <!-- ... 其他配置 ... -->
    <profiles>
        <!-- 開發(fā)環(huán)境 -->
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault> <!-- 默認(rèn)激活開發(fā)環(huán)境 -->
            </activation>
            <properties>
                <spring.profile.active>dev</spring.profile.active> <!-- 對(duì)應(yīng)Spring環(huán)境標(biāo)識(shí) -->
            </properties>
        </profile>
        <!-- 測(cè)試環(huán)境 -->
        <profile>
            <id>test</id>
            <properties>
                <spring.profile.active>test</spring.profile.active>
            </properties>
        </profile>
        <!-- 生產(chǎn)環(huán)境 -->
        <profile>
            <id>prod</id>
            <properties>
                <spring.profile.active>prod</spring.profile.active>
            </properties>
        </profile>
    </profiles>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 開啟資源過濾:替換配置文件中的${變量} -->
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

6.2 修改配置文件(使用Maven變量)

application.yml中用@spring.profile.active@引用Maven變量:

# application.yml
spring:
  profiles:
    active: @spring.profile.active@ # 由Maven打包時(shí)替換

6.3 打包與啟動(dòng)

通過Maven命令指定環(huán)境打包,生成的jar包會(huì)自動(dòng)激活對(duì)應(yīng)環(huán)境:

# 打包開發(fā)環(huán)境(默認(rèn))
mvn clean package
# 打包測(cè)試環(huán)境
mvn clean package -P test
# 打包生產(chǎn)環(huán)境
mvn clean package -P prod

啟動(dòng)jar包時(shí)無(wú)需再指定環(huán)境(已由Maven固化到配置中):

java -jar target/multi-env-demo.jar # 自動(dòng)使用打包時(shí)指定的環(huán)境

優(yōu)勢(shì)

  • 打包時(shí)綁定環(huán)境,避免部署時(shí)誤操作;
  • 適合CI/CD流程(如Jenkins根據(jù)分支自動(dòng)選擇環(huán)境打包)。

七、常見問題與避坑指南

7.1 配置文件優(yōu)先級(jí)問題

SpringBoot配置文件的加載順序(優(yōu)先級(jí)從高到低):

  1. 命令行參數(shù)(--spring.profiles.active=dev);
  2. 環(huán)境變量(SPRING_PROFILES_ACTIVE=dev);
  3. 系統(tǒng)屬性(如-Dspring.profiles.active=dev);
  4. application-{profile}.yml(環(huán)境專屬文件);
  5. application.yml(公共配置文件);
  6. 類路徑下的config目錄(src/main/resources/config/)中的配置文件;
  7. 類路徑根目錄(src/main/resources/)中的配置文件。

避坑點(diǎn):若同一配置在多個(gè)地方定義,高優(yōu)先級(jí)配置會(huì)覆蓋低優(yōu)先級(jí)配置。例如,命令行指定的server.port=8888會(huì)覆蓋配置文件中的server.port=8080。

建議:開發(fā)環(huán)境用配置文件默認(rèn)值,測(cè)試/生產(chǎn)環(huán)境通過命令行或環(huán)境變量指定,避免配置文件沖突。

7.2 配置沖突與覆蓋規(guī)則

當(dāng)公共配置與環(huán)境專屬配置存在相同key時(shí),環(huán)境專屬配置會(huì)覆蓋公共配置

示例:

# 公共配置(application.yml)
server:
  port: 8080
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
# 開發(fā)環(huán)境配置(application-dev.yml)
server:
  port: 8081 # 覆蓋公共配置的8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dev_db # 新增配置

結(jié)果:開發(fā)環(huán)境最終端口為8081,數(shù)據(jù)庫(kù)驅(qū)動(dòng)沿用公共配置的com.mysql.cj.jdbc.Driver。

注意:若同一環(huán)境配置在多個(gè)文件中定義(如application-dev.ymlapplication-dev.properties),properties文件優(yōu)先級(jí)高于yaml文件(因文件格式優(yōu)先級(jí))。

7.3 敏感信息泄露問題

配置文件中的數(shù)據(jù)庫(kù)密碼、API密鑰等敏感信息直接明文存儲(chǔ),存在安全風(fēng)險(xiǎn)。

解決方案

  1. Spring Cloud Config/Spring Cloud Vault:集中管理配置,加密存儲(chǔ)敏感信息(適合微服務(wù)架構(gòu));
  2. Jasypt加密:通過jasypt對(duì)敏感信息加密,項(xiàng)目啟動(dòng)時(shí)解密。

Jasypt使用示例:

  1. 引入依賴:
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.4</version>
</dependency>
  1. 配置加密密鑰(生產(chǎn)環(huán)境通過命令行傳入,避免硬編碼):
jasypt:
  encryptor:
    password: ${JASYPT_PASSWORD:dev_key} # 開發(fā)環(huán)境默認(rèn)密鑰,生產(chǎn)環(huán)境從環(huán)境變量獲取
  1. 生成加密后的密碼(通過代碼或命令行):
import org.jasypt.encryption.StringEncryptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class EncryptRunner implements CommandLineRunner {
    @Autowired
    private StringEncryptor encryptor;
    @Override
    public void run(String... args) throws Exception {
        String password = "prod_pwd";
        String encrypted = encryptor.encrypt(password);
        System.out.println("加密后:" + encrypted); // 輸出如:EbfYkitulv73I2p0mXI50Q==
    }
}
  1. 在配置文件中使用加密值(用ENC()包裹):
spring:
  datasource:
    password: ENC(EbfYkitulv73I2p0mXI50Q==)

7.4 多環(huán)境下的配置激活失敗

常見原因

  1. 環(huán)境標(biāo)識(shí)拼寫錯(cuò)誤(如spring.profiles.active: deve,正確應(yīng)為dev);
  2. 配置文件命名錯(cuò)誤(如application-devl.yml,正確應(yīng)為application-dev.yml);
  3. 單文件yaml中未用---分隔環(huán)境塊,導(dǎo)致配置不生效;
  4. Maven過濾未開啟,@spring.profile.active@未被正確替換。

排查步驟

  1. 檢查啟動(dòng)日志,搜索The following profiles are active,確認(rèn)激活的環(huán)境是否正確;
  2. 檢查配置文件路徑和命名,確保與環(huán)境標(biāo)識(shí)匹配;
  3. 若使用Maven多環(huán)境,打包后解壓jar包,查看BOOT-INF/classes/application.ymlspring.profiles.active是否被正確替換。

7.5 復(fù)雜配置的校驗(yàn)問題

使用@ConfigurationProperties封裝配置時(shí),若配置缺失或格式錯(cuò)誤,可能導(dǎo)致業(yè)務(wù)異常。

解決方案:通過@Validated和JSR-303注解(如@NotNull@Min)進(jìn)行配置校驗(yàn)。

示例:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
@ConfigurationProperties(prefix = "pay.api")
@Component
@Validated // 開啟校驗(yàn)
public class PayApiProperties {
    @NotEmpty(message = "支付API地址不能為空")
    private String url;
    @Min(value = 1000, message = "超時(shí)時(shí)間不能小于1000毫秒")
    private int timeout;
    // getter和setter
}

若配置缺失或不符合規(guī)則,項(xiàng)目啟動(dòng)時(shí)會(huì)直接報(bào)錯(cuò),避免運(yùn)行時(shí)異常:

Binding to target org.springframework.boot.context.properties.bind.BindException: 
Failed to bind properties under 'pay.api' to com.example.config.PayApiProperties failed:
    Property: pay.api.url
    Value: null
    Reason: 支付API地址不能為空

總結(jié)

SpringBoot多環(huán)境配置的核心是“隔離與靈活切換”,結(jié)合實(shí)際開發(fā)經(jīng)驗(yàn),最佳實(shí)踐如下:

  1. 配置文件格式:優(yōu)先使用單文件yaml配置,通過---分隔環(huán)境,減少文件數(shù)量;
  2. 配置讀取:簡(jiǎn)單配置用@Value,復(fù)雜配置用@ConfigurationProperties(配合校驗(yàn));
  3. 環(huán)境激活:開發(fā)環(huán)境用配置文件默認(rèn)值,測(cè)試/生產(chǎn)環(huán)境通過命令行參數(shù)環(huán)境變量指定,避免修改配置文件;
  4. 敏感信息:禁止明文存儲(chǔ),使用Jasypt加密或配置中心管理;
  5. Maven聯(lián)動(dòng):通過Maven profiles實(shí)現(xiàn)“打包綁定環(huán)境”,適合CI/CD自動(dòng)化部署;
  6. 配置校驗(yàn):對(duì)核心配置添加校驗(yàn)規(guī)則,確保啟動(dòng)階段暴露問題。

到此這篇關(guān)于SpringBoot之多環(huán)境配置全解析的文章就介紹到這了,更多相關(guān)SpringBoot多環(huán)境配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java壓縮解壓zip技術(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java壓縮解壓zip技術(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java解壓縮zip - 多個(gè)文件(包括文件夾),對(duì)多個(gè)文件和文件夾進(jìn)行壓縮,對(duì)復(fù)雜的文件目錄進(jìn)行解壓。壓縮方法使用的是可變參數(shù),可以壓縮1到多個(gè)文件
    2017-05-05
  • java通過AOP實(shí)現(xiàn)全局日志打印詳解

    java通過AOP實(shí)現(xiàn)全局日志打印詳解

    最近自己一直再看現(xiàn)有微服務(wù)的日志模塊,發(fā)現(xiàn)就是使用AOP來做controller層的日志處理,加上項(xiàng)目在進(jìn)行架構(gòu)優(yōu)化,這篇文章主要給大家介紹了關(guān)于java通過AOP實(shí)現(xiàn)全局日志打印的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • 淺談MyBatis Example模式SQL注入風(fēng)險(xiǎn)

    淺談MyBatis Example模式SQL注入風(fēng)險(xiǎn)

    在使用MyBatis逆向工程生成的Example查詢模式時(shí),很多開發(fā)者看到XML中存在${}占位符就會(huì)擔(dān)心SQL注入問題,本文就來介紹一下MyBatis Example模式SQL注入風(fēng)險(xiǎn),感興趣的可以了解一下
    2025-10-10
  • 一篇文章弄懂Java8中的時(shí)間處理

    一篇文章弄懂Java8中的時(shí)間處理

    Java8以前Java處理日期、日歷和時(shí)間的方式一直為社區(qū)所詬病,將 java.util.Date設(shè)定為可變類型,以及SimpleDateFormat的非線程安全使其應(yīng)用非常受限,下面這篇文章主要給大家介紹了關(guān)于Java8中時(shí)間處理的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • java的==運(yùn)算符和equals操作詳解

    java的==運(yùn)算符和equals操作詳解

    在Java中,==和equals都是用于比較兩個(gè)對(duì)象的操作符,但它們的行為和用途有所不同,這篇文章主要介紹了java的==運(yùn)算符和equals的相關(guān)知識(shí),需要的朋友可以參考下
    2024-08-08
  • MyBatis Plus配置日志CRUD的使用詳解

    MyBatis Plus配置日志CRUD的使用詳解

    這篇文章主要介紹了MyBatis Plus配置日志,CRUD的使用,,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Gradle中Maven倉(cāng)庫(kù)配置的實(shí)現(xiàn)步驟

    Gradle中Maven倉(cāng)庫(kù)配置的實(shí)現(xiàn)步驟

    在Java/Kotlin 項(xiàng)目的構(gòu)建過程中,依賴管理是核心環(huán)節(jié)之一,而Maven 倉(cāng)庫(kù)是最常見的依賴來源,本文就來詳細(xì)的介紹一下Gradle中Maven倉(cāng)庫(kù)配置,感興趣的可以了解一下
    2025-09-09
  • mybatis?mapper.xml中如何根據(jù)數(shù)據(jù)庫(kù)類型選擇對(duì)應(yīng)SQL語(yǔ)句

    mybatis?mapper.xml中如何根據(jù)數(shù)據(jù)庫(kù)類型選擇對(duì)應(yīng)SQL語(yǔ)句

    這篇文章主要介紹了mybatis?mapper.xml中如何根據(jù)數(shù)據(jù)庫(kù)類型選擇對(duì)應(yīng)SQL語(yǔ)句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Eclipse+Java+Swing實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的實(shí)例代碼

    Eclipse+Java+Swing實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的實(shí)例代碼

    這篇文章主要介紹了Eclipse+Java+Swing實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Springboot配置端口號(hào)全過程

    Springboot配置端口號(hào)全過程

    Springboot項(xiàng)目可以通過application.yml、application.properties或代碼指定端口號(hào),2.x版本以上EmbeddedServletContainerCustomizer已被替代,CMD啟動(dòng)可指定端口號(hào),配置加載順序依次為yml、properties、命令行
    2026-05-05

最新評(píng)論

潢川县| 楚雄市| 肇庆市| 东乌| 岢岚县| 台湾省| 隆尧县| 尉犁县| 祁东县| 饶阳县| 井冈山市| 罗山县| 福海县| 苍南县| 印江| 南康市| 华坪县| 鄂伦春自治旗| 荔浦县| 平利县| 达拉特旗| 邵东县| 江口县| 永德县| 桂平市| 桂阳县| 武隆县| 茶陵县| 永定县| 松阳县| 垦利县| 扎鲁特旗| 股票| 景宁| 和田市| 昭平县| 抚州市| 公主岭市| 卓资县| 正安县| 绥中县|