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

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

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

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

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

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

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

# 日志級(jí)別
logging:
  level:
    root: INFO
    com.example.mypackage: DEBUG

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

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

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

二、配置文件在項(xiàng)目中起到的具體作用

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

1、@ConfigurationProperties 注解

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

對(duì)象的字段上。這樣做的一個(gè)常見的方式是使用屬性的前綴來進(jìn)行匹配。以下是一個(gè)簡(jiǎn)單的示例:

# 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ù)邏輯 
} 

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

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

DatabaseProperties 實(shí)例中。

然后,你可以在其他組件中注入 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ù)庫(kù)的邏輯...
    } 
} 

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

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

2、@Value 注解

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

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

3、Environment對(duì)象

通過 Environment 對(duì)象獲取配置屬性。

@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+)

這個(gè)注解允許在指定的包及其子包中掃描 @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

默認(rèn)的主配置文件,Spring Boot 應(yīng)用會(huì)自動(dò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ù)的默認(rèn)配置文件。
存放一些啟動(dòng)時(shí)需要優(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 的標(biāo)簽。
例如,application-v1.properties 用于版本 1。

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

四、多配置文件使用哪個(gè)

Spring Boot 在啟動(dòng)時(shí)會(huì)加載默認(rèn)的主配置文件,即 application.yml 或 application.properties。如果有不同環(huán)境的配置文件,如 application-test.yml 或 application-dev.yml,Spring Boot 會(huì)根據(jù)當(dāng)前激活的環(huán)境來選擇加載對(duì)應(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 會(huì)加載 application-dev.yml 文件中的配置。

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

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

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

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

這樣就會(huì)加載 application-dev.yml 的配置。

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

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

以jar包發(fā)布springboot項(xiàng)目時(shí)

默認(rèn)會(huì)先使用jar包跟目錄下的application.properties來作為項(xiàng)目配置文件。

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

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

2、config/application.yml

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

4、application.yml

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

6、resources/config/application.yml

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

8、resources/application.yml

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

相關(guān)文章

最新評(píng)論