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

SpringBoot 的參數(shù)配置示例全解析

 更新時間:2025年12月05日 10:02:14   作者:程序員小假  
Spring Boot的參數(shù)配置系統(tǒng)通過application.properties和application.yml文件實現(xiàn),支持多種外部配置方式,本文介紹SpringBoot 的參數(shù)配置示例全解析,感興趣的朋友跟隨小編一起看看吧

當然了解,Spring Boot 的參數(shù)配置是其核心特性之一,也是它實現(xiàn)“約定大于配置”理念的關鍵。它極大地簡化了傳統(tǒng) Spring 應用中繁瑣的 XML 配置。

一、核心概念:application.properties與application.yml

Spring Boot 默認使用這兩種文件進行配置(二者選其一即可,.yml 更常用)。

application.properties (傳統(tǒng)鍵值對格式)

server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret
logging.level.com.example.demo=debug

application.yml (YAML 格式,層次感更強,推薦使用)

server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: secret
logging:
  level:
    com.example.demo: debug

YAML 注意事項:縮進必須使用空格,不能使用 Tab 鍵,冒號后面必須有一個空格。

二、配置的加載位置與優(yōu)先級

Spring Boot 會從以下位置按從高到低的優(yōu)先級加載 application 配置文件(高優(yōu)先級的配置會覆蓋低優(yōu)先級的配置):

  1. 當前項目根目錄下的 /config 子目錄
  2. 當前項目根目錄
  3. classpath 下的 /config 包 (即 src/main/resources/config)
  4. classpath 根路徑 (即 src/main/resources)

最佳實踐:在開發(fā)時,將通用配置放在 src/main/resources/application.yml 中。在打包部署時,可以在 JAR 包所在目錄創(chuàng)建一個 config 文件夾,里面放一個 application.yml 來覆蓋開發(fā)環(huán)境的配置(如數(shù)據(jù)庫連接),這樣就實現(xiàn)了配置與代碼分離。

三、外部化配置(非常強大)

除了配置文件,Spring Boot 還支持多種外部配置方式,優(yōu)先級高于 application.yml。這在容器化部署(如 Docker)時尤其有用。

  1. 命令行參數(shù)
java -jar yourapp.jar --server.port=8888 --spring.datasource.url=jdbc:mysql://prod-server:3306/proddb
  • 操作系統(tǒng)環(huán)境變量
    • Spring Boot 會自動識別形如 SPRING_DATASOURCE_URL 的環(huán)境變量(注意大小寫和下劃線)。
  • Profile-specific 配置(多環(huán)境配置)
    • 這是管理不同環(huán)境(開發(fā)、測試、生產(chǎn))配置的最佳方式。
    • 在通用的 application.yml 中,通過 spring.profiles.active 屬性來激活特定環(huán)境的配置。
    • 配置文件命名規(guī)則:application-{profile}.yml
  • 例如:
    • application-dev.yml (開發(fā)環(huán)境)
    • application-test.yml (測試環(huán)境)
    • application-prod.yml (生產(chǎn)環(huán)境)

application.yml

spring:
  profiles:
    active: dev # 默認激活開發(fā)環(huán)境

激活方式

  • 在配置文件中設置(如上所示)。
  • 命令行激活:java -jar yourapp.jar --spring.profiles.active=prod
  • JVM 參數(shù):-Dspring.profiles.active=test
  • 環(huán)境變量:export SPRING_PROFILES_ACTIVE=prod

四、如何在代碼中獲取配置值?

@Value 注解 (適用于單個屬性)

@Component
public class MyComponent {
    @Value("${server.port}")
    private int serverPort;
    @Value("${app.message: Hello Default}") // 使用冒號指定默認值
    private String message;
    // ... 
}

@ConfigurationProperties 注解 (推薦,用于綁定一組配置)

這是更類型安全、更面向?qū)ο蟮姆绞健?/p>

步驟 1:在 application.yml 中定義配置

app:
  user:
    name: "Alice"
    age: 30
    email: "alice@example.com"
    hobbies:
      - reading
      - hiking

步驟 2:創(chuàng)建一個配置類來綁定這些屬性

@Component
@ConfigurationProperties(prefix = "app.user") // 前綴是 app.user
@Data // Lombok 注解,自動生成 getter/setter
// 或者也可以手動寫 getter 和 setter
public class UserProperties {
    private String name;
    private Integer age;
    private String email;
    private List<String> hobbies;
}

步驟 3:在需要的地方注入并使用

@Service
public class MyService {
    @Autowired
    private UserProperties userProperties;
    public void doSomething() {
        System.out.println("User name: " + userProperties.getName());
        System.out.println("User hobbies: " + userProperties.getHobbies());
    }
}

別忘了在啟動類上添加 @EnableConfigurationProperties 注解(但如果你像上面一樣在配置類上使用了 @Component,則不需要)。

五、常用配置示例

# 服務器配置
server:
  port: 8080
  servlet:
    context-path: /api # 應用上下文路徑
# 數(shù)據(jù)源配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  # JPA 配置
  jpa:
    hibernate:
      ddl-auto: update # 生產(chǎn)環(huán)境不要用 create-drop 或 update
    show-sql: true
# 日志配置
logging:
  level:
    root: info
    org.springframework.web: debug
    com.example: trace
  file:
    name: logs/myapp.log # 輸出到文件
# 自定義配置
myapp:
  feature:
    enabled: true
    api-url: https://api.example.com

總結(jié)

Spring Boot 的參數(shù)配置系統(tǒng)非常靈活和強大,其核心思想是:

  • 約定大于配置:提供了大量默認配置,開箱即用。
  • 配置外部化:允許你通過文件、命令行、環(huán)境變量等多種方式覆蓋默認配置,輕松適應不同環(huán)境。
  • 類型安全綁定:通過 @ConfigurationProperties 可以輕松地將一組配置映射到 Java Bean 上,是管理自定義配置的首選方式。

到此這篇關于SpringBoot 的參數(shù)配置示例全解析的文章就介紹到這了,更多相關SpringBoot 參數(shù)配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java?延時隊列及簡單使用方式詳解

    Java?延時隊列及簡單使用方式詳解

    這篇文章主要介紹了Java延時隊列簡單使用方式,通過本文學習知道延時隊列是什么可以用來干什么,本文通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Java解析XML格式數(shù)據(jù)的方法詳解

    Java解析XML格式數(shù)據(jù)的方法詳解

    這篇文章主要介紹了Java解析XML格式數(shù)據(jù)的方法,并展示了較為常用的Java dom來解析XML的例子,需要的朋友可以參考下
    2015-10-10
  • Spring Boot 2 Thymeleaf服務器端表單驗證實現(xiàn)詳解

    Spring Boot 2 Thymeleaf服務器端表單驗證實現(xiàn)詳解

    這篇文章主要介紹了Spring Boot 2 Thymeleaf服務器端表單驗證實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot中14個日志使用技巧分享

    SpringBoot中14個日志使用技巧分享

    日志是軟件開發(fā)中不可或缺的一部分,它能幫助我們了解應用運行狀態(tài)、調(diào)試問題和監(jiān)控性能,下面我們來看看14個SpringBoot日志使用技巧,希望對大家有所幫助
    2025-05-05
  • Java Enum和String及int的相互轉(zhuǎn)化示例

    Java Enum和String及int的相互轉(zhuǎn)化示例

    這篇文章主要介紹了Java Enum和String及int的相互轉(zhuǎn)化示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Java基礎高級綜合練習題撲克牌的創(chuàng)建

    Java基礎高級綜合練習題撲克牌的創(chuàng)建

    今天小編就為大家分享一篇關于Java基礎高級綜合練習題撲克牌的創(chuàng)建,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java中synchronized實現(xiàn)原理詳解

    Java中synchronized實現(xiàn)原理詳解

    這篇文章主要介紹了Java中synchronized實現(xiàn)原理詳解,涉及synchronized實現(xiàn)同步的基礎,Java對象頭,Monitor,Mark Word,鎖優(yōu)化,自旋鎖等相關內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • 5分鐘讓你快速掌握java8 stream常用開發(fā)技巧

    5分鐘讓你快速掌握java8 stream常用開發(fā)技巧

    這篇文章主要給大家介紹了關于java8 stream常用開發(fā)技巧的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • SpringBoot使用FastExcel實現(xiàn)多級表頭動態(tài)數(shù)據(jù)填充導出

    SpringBoot使用FastExcel實現(xiàn)多級表頭動態(tài)數(shù)據(jù)填充導出

    這篇文章主要為大家詳細介紹了SpringBoot如何使用FastExcel實現(xiàn)多級表頭動態(tài)數(shù)據(jù)填充導出功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-12-12
  • Springboot項目平滑關閉及自動化關閉腳本

    Springboot項目平滑關閉及自動化關閉腳本

    這篇文章主要為大家詳細介紹了Springboot項目平滑關閉及自動化關閉腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論

商水县| 讷河市| 井冈山市| 南乐县| 安龙县| 江陵县| 双峰县| 化州市| 宾阳县| 嘉善县| 自贡市| 余庆县| 香港 | 宁陵县| 阳新县| 普兰县| 延长县| 堆龙德庆县| 腾冲县| 建昌县| 保靖县| 兴山县| 遂溪县| 太湖县| 棋牌| 吉木乃县| 湖州市| 朝阳市| 河北区| 洪雅县| 新野县| 鄯善县| 宁蒗| 平度市| 潜山县| 海南省| 岑巩县| 南昌县| 靖西县| 连城县| 静宁县|