欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)

 更新時間:2024年03月15日 09:46:25   作者:CodeCharm——CC  
本文主要介紹了Spring Boot 配置文件,主要包含application.yml、application-dev.yml、application-test.yml,具有一定的參考價值,感興趣的可以了解一下

一、application.yml 基礎(chǔ)配置

是 Spring Boot 中用于配置應(yīng)用程序?qū)傩缘闹饕渲梦募弧_@個文件通常用于配置應(yīng)用程序的一般性屬性,包括數(shù)據(jù)庫連接、日志級別、端口號等。下面是一些常見的在 application.yml 中配置的示例:

# 服務(wù)器端口
server:
  port: 8080

# 數(shù)據(jù)庫連接配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

# 日志級別
logging:
  level:
    root: INFO
    com.example.mypackage: DEBUG

# 應(yīng)用程序自定義屬性
myapp:
  name: My Spring Boot App
  version: 1.0

上述示例展示了一些常用的配置項,但根據(jù)應(yīng)用程序的需求,你可以在 application.yml 中配置各種屬性。Spring Boot 非常靈活,可以根據(jù)屬性的前綴識別屬性,并將其綁定到對應(yīng)的 Java 對象上,以方便在代碼中使用。

需要注意的是,application.yml 文件采用 YAML(YAML Ain’t Markup Language)語法,它使用縮進和冒號來表示層次關(guān)系。因此,正確的縮進對于保持文件的結(jié)構(gòu)是很重要的。

二、配置文件在項目中起到的具體作用

在 Spring Boot 中,可以通過屬性文件(比如 application.yml 或 application.properties)來配置應(yīng)用程序的屬性。這些屬性可以直接映射到 Java 對象中,從而在代碼中方便地使用。

1、@ConfigurationProperties 注解

提供了一種方便的方式,可以將配置文件中的屬性映射到 Java

對象的字段上。這樣做的一個常見的方式是使用屬性的前綴來進行匹配。以下是一個簡單的示例:

# application.yml myapp:   database:
    url: jdbc:mysql://localhost:3306/mydatabase
    username: root
    password: password 
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component 
@ConfigurationProperties(prefix = "myapp.database") public
class DatabaseProperties {
    private String url;
    private String username;
    private String password;

    // Getters and setters

    // 可以在這里添加其他的業(yè)務(wù)邏輯 
} 

在這個例子中,DatabaseProperties 類的屬性(url、username、password)會與

application.yml 文件中 myapp.database 下的屬性相匹配。Spring Boot 會自動將這些屬性值注入到

DatabaseProperties 實例中。

然后,你可以在其他組件中注入 DatabaseProperties,并直接使用其中的屬性:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service public class DatabaseService {
    private final DatabaseProperties databaseProperties;

    @Autowired
    public DatabaseService(DatabaseProperties databaseProperties) {
        this.databaseProperties = databaseProperties;
    }

    public void connectToDatabase() {
        String url = databaseProperties.getUrl();
        String username = databaseProperties.getUsername();
        String password = databaseProperties.getPassword();

        // 連接到數(shù)據(jù)庫的邏輯...
    } 
} 

通過這種方式,你可以將配置文件中的屬性映射到 Java

對象上,并在代碼中方便地使用這些屬性。這種配置方式可以幫助你集中管理應(yīng)用程序的配置,并提高代碼的可維護性。

2、@Value 注解

使用 @Value 注解可以直接將配置文件中的屬性值注入到 Spring Bean 中的字段或方法參數(shù)上。

@Value("${property.name}") private String
   propertyName;

3、Environment對象

通過 Environment 對象獲取配置屬性。

@Autowired private Environment env;
   
public void someMethod() {
   	String propertyValue = env.getProperty("property.name"); 
}

4、@PropertySource注解引入外部屬性文件

使用 @PropertySource 注解可以在配置類中引入外部的屬性文件。

public class MyConfiguration {
    @Value("${custom.property}")
    private String customProperty;
} 

5、@ConfigurationPropertiesScan 注解(Spring Boot 2.2+)

這個注解允許在指定的包及其子包中掃描 @ConfigurationProperties 注解,無需顯式聲明

@ConfigurationProperties 的 Bean。

@ConfigurationPropertiesScan("com.example.config") 

這些方式都允許在應(yīng)用程序中方便地訪問配置文件中的屬性值,開發(fā)者可以根據(jù)具體情況選擇最適合的方式。

三、Spring Boot 的其他配置文件

在 Spring Boot 中,除了常見的 application.yml 或 application.properties 外,你還可以使用其他自定義的配置文件。Spring Boot 提供了以下幾種常見的配置文件:

1、application.properties/application.yml

默認的主配置文件,Spring Boot 應(yīng)用會自動加載該文件。存放應(yīng)用程序的主要配置。

2、application-{profile}.properties/application-{profile}.yml:

可以根據(jù)不同的環(huán)境配置不同的屬性文件,{profile} 表示環(huán)境名稱。
例如,application-dev.properties 用于開發(fā)環(huán)境,application-prod.properties用于生產(chǎn)環(huán)境。

3、bootstrap.properties/bootstrap.yml:

用于 Spring Cloud 應(yīng)用,是 Spring Cloud Config 服務(wù)的默認配置文件。
存放一些啟動時需要優(yōu)先加載的配置,比如連接到 Config Server 的配置。

4、application-{profile}.properties/application-{profile}.yml:

可以根據(jù)不同的環(huán)境配置不同的屬性文件,{profile} 表示環(huán)境名稱。 例如,application-dev.properties
用于開發(fā)環(huán)境,application-prod.properties 用于生產(chǎn)環(huán)境。

5、application-{label}.properties/application-{label}.yml:

用于 Git 和配置服務(wù)器的外部化配置,{label} 表示 Git 的標簽。
例如,application-v1.properties 用于版本 1。

這些文件命名規(guī)范允許你根據(jù)不同的環(huán)境、配置標簽或者配置文件類型組織和管理你的配置信息。Spring Boot 會根據(jù)上述規(guī)則自動加載相應(yīng)的配置文件。

四、多配置文件使用哪個

Spring Boot 在啟動時會加載默認的主配置文件,即 application.yml 或 application.properties。如果有不同環(huán)境的配置文件,如 application-test.yml 或 application-dev.yml,Spring Boot 會根據(jù)當前激活的環(huán)境來選擇加載對應(yīng)的配置文件。

1、設(shè)置 spring.profiles.active 指定激活環(huán)境

你可以通過在 application.yml 或 application.properties 中設(shè)置 spring.profiles.active 屬性來指定激活的環(huán)境。例如:

spring:
  profiles:
    active: dev

上述配置表示激活 dev 環(huán)境,因此 Spring Boot 會加載 application-dev.yml 文件中的配置。

如果沒有設(shè)置 spring.profiles.active 屬性,Spring Boot 將默認使用主配置文件的配置。

2、命令行參數(shù)指定環(huán)境

除了通過屬性文件來設(shè)置激活的環(huán)境外,你還可以通過命令行參數(shù)、系統(tǒng)屬性、環(huán)境變量等方式來指定激活的環(huán)境。例如,通過命令行參數(shù)啟動時指定環(huán)境:

java -jar your-application.jar --spring.profiles.active=dev

這樣就會加載 application-dev.yml 的配置。

五、Springboot中配置文件的加載順序

application.yml、application.properties和bootStrap.yml加載順序

以jar包發(fā)布springboot項目時

默認會先使用jar包跟目錄下的application.properties來作為項目配置文件。

如果在不同的目錄中存在多個配置文件,它的讀取順序是:

1、config/application.properties(項目根目錄中config目錄下)

2、config/application.yml

3、application.properties(項目根目錄下)

4、application.yml

5、resources/config/application.properties(項目resources目錄中config目錄下)

6、resources/config/application.yml

7、resources/application.properties(項目的resources目錄下)

8、resources/application.yml

到此這篇關(guān)于Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)的文章就介紹到這了,更多相關(guān)SpringBoot 配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring MVC攔截器_動力節(jié)點Java學院整理

    Spring MVC攔截器_動力節(jié)點Java學院整理

    Spring MVC的攔截器,是屬于HandlerMapping級別的,可以有多個HandlerMapping ,每個HandlerMapping可以有自己的攔截器,具體內(nèi)容詳情大家通過本文學習吧
    2017-08-08
  • EL表達式簡介_動力節(jié)點Java學院整理

    EL表達式簡介_動力節(jié)點Java學院整理

    EL全名為Expression Language,這篇文章主要給大家介紹EL表達式的主要作用及內(nèi)容簡介,感興趣的朋友一起看看
    2017-07-07
  • Java服務(wù)調(diào)用失敗報Service com.oneinfinite.adflow.api.service.TestService未找到的解決方法

    Java服務(wù)調(diào)用失敗報Service com.oneinfinite.adflow.api.service.T

    在Java開發(fā)中,服務(wù)調(diào)用是常見的操作,尤其是在微服務(wù)架構(gòu)中,然而,服務(wù)調(diào)用過程中可能會遇到各種問題,下面我們來看看如何解決Service com.oneinfinite.adflow.api.service.TestService with version 0.0.0 not found的問題吧
    2025-03-03
  • java?啟動參數(shù)?springboot?idea詳解

    java?啟動參數(shù)?springboot?idea詳解

    這篇文章主要介紹了java?啟動參數(shù)?springboot?idea的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Java適配器模式定義與用法示例

    Java適配器模式定義與用法示例

    這篇文章主要介紹了Java適配器模式定義與用法,結(jié)合具體實例形式分析了java適配器模式的功能、組成、定義、使用方法及適配程度等,需要的朋友可以參考下
    2017-06-06
  • Java的帶GUI界面猜數(shù)字游戲的實現(xiàn)示例

    Java的帶GUI界面猜數(shù)字游戲的實現(xiàn)示例

    這篇文章主要介紹了Java的帶GUI界面猜數(shù)字游戲的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • java基于雙向環(huán)形鏈表解決丟手帕問題的方法示例

    java基于雙向環(huán)形鏈表解決丟手帕問題的方法示例

    這篇文章主要介紹了java基于雙向環(huán)形鏈表解決丟手帕問題的方法,簡單描述了丟手帕問題,并結(jié)合實例形式給出了Java基于雙向環(huán)形鏈表解決丟手帕問題的步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • java并發(fā)容器CopyOnWriteArrayList實現(xiàn)原理及源碼分析

    java并發(fā)容器CopyOnWriteArrayList實現(xiàn)原理及源碼分析

    這篇文章主要為大家詳細介紹了java并發(fā)容器CopyOnWriteArrayList實現(xiàn)原理及源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • MyBatis XPathParser解析器使用范例詳解

    MyBatis XPathParser解析器使用范例詳解

    這篇文章主要介紹了關(guān)于MyBatis中解析器XPathParser的實際使用實踐,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2022-07-07
  • Protobuf的簡要介紹及使用詳解

    Protobuf的簡要介紹及使用詳解

    這篇文章主要介紹了Protobuf的簡要介紹及使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論