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

SpringBoot配置文件application.properties的使用

 更新時間:2024年05月09日 10:06:35   作者:qinxun2008081  
這篇文章主要介紹了SpringBoot配置文件application.properties的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、存放位置分類

  • 1.當前項目根目錄下的config目錄下
  • 2.當前項目的根目錄下
  • 3.resources目錄下的config目錄下
  • 4.resources目錄下

按照這上面的順序,4個配置文件的優(yōu)先級依次降低。

我們在項目里面4個位置分別設(shè)置了各種的application.properties文件。

每個文件都設(shè)置了各種的端口號,我們啟動項目看到我們當前使用的端口號是優(yōu)先級最高的項目根目錄下config里面的配置。

我們刪除掉項目根目錄下的config目錄,現(xiàn)在項目使用的端口是項目根目錄下的application.properties。

二、自定義存放位置

如果我們不在這4個位置也想加載我們的配置文件的話,我們可以在resources目錄下創(chuàng)建一個新目錄命名為myconfig,目錄下存放一個application.properties文件。

我們可以在打包成jar的情況下在啟動命令中加入配置文件的參數(shù),就可以啟動自定義的配置。

java -jar xx.jar --spring.config.location=classpath:/myconfig/

三、自定義文件名

我們的application.properties文件名稱也可以修改,比如修改成app.properties。

我們可以在打成jar包的情況下在啟動命令下加入配置文件名的參數(shù),就可以使用自定義配置文件名。

java -jar SpringBootDemo-0.0.1-SNAPSHOT.jar --spring.config.name=app

我們看到現(xiàn)在項目使用的端口是app.properties文件下的8081端口了。 

四、屬性注入

我們在application.properties文件中定義屬性:

student.name=zhangsan
student.age=20

我們通過@Value注解把這些屬性注入到我們的Student對象中:

示例代碼如下:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
 
/**
 * @author qinxun
 * @date 2023-06-15
 * @Descripion: 學(xué)生實體類
 */
@Component
public class Student {
 
    @Value("${student.name}")
    private String name;
 
    @Value("${student.age}")
    private Integer age;
 
 
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

測試:

import com.example.springbootdemo.bean.Student;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
 
@SpringBootTest
class SpringBootDemoApplicationTests {
 
    @Autowired
    private Student student;
 
    @Test
    void contextLoads() {
        // 輸出 Student{name='zhangsan', age=20}
        System.out.println(student);
    }
 
}

五、類型安全的屬性注入

示例代碼如下:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
 
/**
 * @author qinxun
 * @date 2023-06-15
 * @Descripion: 學(xué)生實體類
 */
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
 
    private String name;
 
    private Integer age;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public void setAge(Integer age) {
        this.age = age;
    }
 
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

這里我們主要引入@ConfigurationProperties(prefix="student")注解,并且配置了屬性的前綴,此時自動將Spring容器中對應(yīng)的數(shù)據(jù)注入到對象對應(yīng)的屬性中,不用通過@Value注解一個個注入。

配置文件:

student.name=lisi
student.age=20

測試:

import com.example.springbootdemo.bean.Student;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
 
@SpringBootTest
class SpringBootDemoApplicationTests {
 
    @Autowired
    private Student student;
 
    @Test
    void contextLoads() {
        // 輸出 Student{name='lisi', age=20}
        System.out.println(student);
    }
 
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis的@select和@SelectProvider注解方式動態(tài)SQL語句解讀

    Mybatis的@select和@SelectProvider注解方式動態(tài)SQL語句解讀

    這篇文章主要介紹了Mybatis的@select和@SelectProvider注解方式動態(tài)SQL語句,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • eclipse maven 插件的安裝和配置詳解

    eclipse maven 插件的安裝和配置詳解

    這篇文章主要介紹了eclipse maven 插件的安裝和配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 獲取JPEGImageEncoder和JPEGCode這兩個類的方法

    獲取JPEGImageEncoder和JPEGCode這兩個類的方法

    下面小編就為大家?guī)硪黄@取JPEGImageEncoder和JPEGCode這兩個類的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Java double類型比較大小詳解

    Java double類型比較大小詳解

    這篇文章主要介紹了Java double類型比較大小,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 深入Java對象的地址的使用分析

    深入Java對象的地址的使用分析

    本篇文章介紹了,Java對象的地址的使用分析。需要的朋友參考下
    2013-05-05
  • Java集合總結(jié)

    Java集合總結(jié)

    今天小編就為大家分享一篇關(guān)于Java集合總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java中CopyOnWriteArrayList源碼解析

    java中CopyOnWriteArrayList源碼解析

    為了將讀取的性能發(fā)揮到極致,jdk中提供了CopyOnWriteArrayList類,下面這篇文章主要給大家介紹了關(guān)于java中CopyOnWriteArrayList源碼解析的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • SpringBoot使用Mybatis注解實現(xiàn)分頁動態(tài)sql開發(fā)教程

    SpringBoot使用Mybatis注解實現(xiàn)分頁動態(tài)sql開發(fā)教程

    這篇文章主要為大家介紹了SpringBoot使用Mybatis注解實現(xiàn)分頁及動態(tài)sql開發(fā)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • springboot項目實現(xiàn)配置跨域

    springboot項目實現(xiàn)配置跨域

    這篇文章主要介紹了springboot項目實現(xiàn)配置跨域問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Java線程中的ThreadLocal詳細分析

    Java線程中的ThreadLocal詳細分析

    這篇文章主要介紹了Java線程中的ThreadLocal詳細分析,ThreadLocal?提供線程的局部變量,每個線程都可以通過?get()和?set()對局部變量進行操作而不會對其他線程的局部變量產(chǎn)生影響,實現(xiàn)了線程之間的數(shù)據(jù)隔離,需要的朋友可以參考下
    2023-09-09

最新評論