国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot yml文件自定義配置的讀取、使用 字符串 數(shù)組 對象 集合

這篇具有很好參考價(jià)值的文章主要介紹了springboot yml文件自定義配置的讀取、使用 字符串 數(shù)組 對象 集合。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

.yml 配置

# 自定義開發(fā)環(huán)境端口 默認(rèn)本地 9801
# serverPort: 9801
spring:
  profiles: dev
# 環(huán)境的配置
server:
  port: 9801



# 自定義對象/配置
student:
  name: 李四
  age: 25
  jobs: #數(shù)組方式1                                      @ConfigurationProperties 方式可以獲??; @Value方式、Environment方式獲取不到
    - java
      linux
      123
  loves: [看電影,玩游戲,游泳,aaaa,456] # 數(shù)組方式2        @ConfigurationProperties 方式可以獲?。?@Value方式、Environment方式獲取不到
  books: 水滸,西游,紅樓夢,三國 # 數(shù)組方式3                @所有方式都可獲取
  frands: # List方式1                                  @ConfigurationProperties 方式可以獲?。?@Value方式、Environment方式獲取不到
    - 李雷
      韓梅梅
      本山
  familys: [李父,李牧,李姐,李弟,456] # List方式2         @ConfigurationProperties 方式可以獲?。?@Value方式、Environment方式獲取不到
  organ: 眼,#耳,.#口,鼻 # List方式3                        @所有方式都可獲取


# 對象集合                                              @ConfigurationProperties 方式可以獲取并封裝成對象集合
users:
  user:
    - name: tom
      age: 18
    - name: 韓梅梅
      age: 15

controller代碼

import com.tencent.gateway.entity.Student;
import com.tencent.gateway.entity.User;
import com.tencent.gateway.entity.Users;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import org.springframework.core.env.Environment;
import org.springframework.beans.factory.annotation.Value;

import java.util.Arrays;
import java.util.List;


@RestController
@RequestMapping("/test")
public class TestController {

    //方式1:對象中使用 @ConfigurationProperties 加載配置到對象屬性中
    @Autowired
    private Student student;//配置文件對應(yīng)的對象
    @Autowired
    private Users users;//配置文件對應(yīng)的對象集合

    @GetMapping("/test1")
    public Object test1(){
        System.out.println("方式1:@ConfigurationProperties 獲取配置:");
        System.out.println();
        System.out.println(student.name);
        System.out.println(student.age);
        System.out.println(Arrays.toString(student.jobs));
        System.out.println(Arrays.toString(student.loves));
        System.out.println(Arrays.toString(student.books));
        System.out.println(student.frands.toString());
        System.out.println(student.familys.toString());
        System.out.println(student.organ.toString());

        System.out.println();
        System.out.println("usersList:");
        for (User user: users.user){
            System.out.println(user.name);
            System.out.println(user.age);
        }

        return "success";
    }



    //方式2:使用 Environment
    @Autowired
    Environment env;

    @GetMapping("/test2")
    public Object test2(){
        System.out.println("方式2:Environment 獲取配置:");
        System.out.println();
        System.out.println(env.getProperty("server.port"));
        System.out.println(env.getProperty("student.name"));
        System.out.println(env.getProperty("student.age"));
        System.out.println(env.getProperty("student.jobs"));    //獲取不到
        System.out.println(env.getProperty("student.loves"));   //獲取不到
        System.out.println(env.getProperty("student.books"));   //          可以獲取
        System.out.println(env.getProperty("student.frands"));  //獲取不到
        System.out.println(env.getProperty("student.familys")); //獲取不到
        System.out.println(env.getProperty("student.organ"));   //          可以獲取
        return "success";
    }



    //方式3:使用 @Value 映射 獲取指定配置參數(shù)值, 冒號(hào)后的1111為默認(rèn)值
    @Value("${server.port:1111}")
    private String port;
    @Value("${student.name}")
    public String name;
    @Value("${student.age}")
    private int age;
    @Value("${student.jobs:}")
    private String[] jobs;
    @Value("${student.loves:}")
    private String[] loves;
    @Value("${student.books:}")
    private String[] books;
    @Value("${student.frands:a,a,a,a}")//冒號(hào)后指定默認(rèn)值
    private List<String> frands;
    @Value("${student.familys:}")
    private List<String> familys;
    @Value("#{'${student.organ}'.split(',')}") //使用指定分割符分割字符串?dāng)?shù)組(部分字符不支持,比如 .)
    private List<String> organ;
    @Value("#{'${student.organ}'.split('#')}") //使用指定分割符分割字符串?dāng)?shù)組(部分字符不支持,比如 .)
    private List<String> organ2;

    @GetMapping("/test3")
    public Object test3(){
        System.out.println("方式3:@Value 映射 獲取配置:");
        System.out.println();
        System.out.println(port);
        System.out.println(name);
        System.out.println(age);
        System.out.println(Arrays.toString(jobs));  //獲取不到
        System.out.println(Arrays.toString(loves)); //獲取不到
        System.out.println(Arrays.toString(books)); //          可以獲取
        System.out.println(frands.toString());      //獲取不到
        System.out.println(familys.toString());     //獲取不到

        System.out.println();
        System.out.println("organ:(逗號(hào)分割)");
        System.out.println(organ.toString());       //          可以獲取
        for (String organSplit: organ){
            System.out.println(organSplit);
        }

        System.out.println();
        System.out.println("organ2:(號(hào)分割)");
        System.out.println(organ2.toString());      //          可以獲取
        for (String organSplit: organ2){
            System.out.println(organSplit);
        }

        return "success";
    }
}

實(shí)體類

Student.java

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@ConfigurationProperties(prefix = "student")
public class Student {

    public String name;

    public int age;

    public String[] jobs;

    public String[] loves;

    public String[] books;

    public List<String> frands;

    public List<String> familys;

    public List<String> organ;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String[] getJobs() {
        return jobs;
    }

    public void setJobs(String[] jobs) {
        this.jobs = jobs;
    }

    public String[] getLoves() {
        return loves;
    }

    public void setLoves(String[] loves) {
        this.loves = loves;
    }

    public List<String> getFrands() {
        return frands;
    }

    public void setFrands(List<String> frands) {
        this.frands = frands;
    }

    public List<String> getFamilys() {
        return familys;
    }

    public void setFamilys(List<String> familys) {
        this.familys = familys;
    }

    public String[] getBooks() {
        return books;
    }

    public void setBooks(String[] books) {
        this.books = books;
    }

    public List<String> getOrgan() {
        return organ;
    }

    public void setOrgan(List<String> organ) {
        this.organ = organ;
    }
}

Users.java

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@ConfigurationProperties(prefix = "users")
public class Users {

    public List<User> user; //自動(dòng)將users.user下的所有數(shù)組封裝到User對象集合中

    public List<User> getUser() {
        return user;
    }

    public void setUser(List<User> user) {
        this.user = user;
    }
}

User.java

public class User {
    public String name;
    public int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

方式一、

http://localhost:9801/test/test1

yml文件配置數(shù)組,spring boot,yml

方式二、

http://localhost:9801/test/test2

yml文件配置數(shù)組,spring boot,yml

方式三、

http://localhost:9801/test/test3

yml文件配置數(shù)組,spring boot,yml

參考:

SpringBoot:yml文件詳解-CSDN博客

https://www.jb51.net/article/216769.htm文章來源地址http://www.zghlxwxcb.cn/news/detail-743244.html

到了這里,關(guān)于springboot yml文件自定義配置的讀取、使用 字符串 數(shù)組 對象 集合的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 17、YML配置文件及讓springboot啟動(dòng)時(shí)加載我們自定義的yml配置文件的幾種方式

    17、YML配置文件及讓springboot啟動(dòng)時(shí)加載我們自定義的yml配置文件的幾種方式

    其實(shí)本質(zhì)和.properties文件的是一樣的。 Spring Boot默認(rèn)使用SnakeYml工具來處理YAML配置文件,SnakeYml工具默認(rèn)就會(huì)被spring-boot-starter導(dǎo)入,因此無需開發(fā)者做任何額外配置。 YAML本質(zhì)是JSON的超級(jí),它在表示結(jié)構(gòu)化文檔時(shí)更有表現(xiàn)力。 ▲ properties文件使用 .分隔符 作為結(jié)構(gòu)化的表現(xiàn):

    2024年02月14日
    瀏覽(28)
  • SpringBoot中配置文件詳解(yml、properties全局配置和自定義配置),獲取配置方式

    SpringBoot中配置文件詳解(yml、properties全局配置和自定義配置),獲取配置方式

    目錄 全局配置文件 application.properties配置文件 application.yaml配置文件 ?value值為普通數(shù)據(jù)類型(例如數(shù)字、字符串、布爾等) ?value值為數(shù)組和單列集合 ?value值為Map集合 ?value值為對象或嵌套對象 @Value 自定義配置 使用@PropertySource加載配置文件 隨機(jī)數(shù)設(shè)置及參數(shù)間引用 隨機(jī)值設(shè)

    2024年02月14日
    瀏覽(21)
  • SpringBoot - 配置文件application.yml使用詳解(附:Profile多環(huán)境配置)

    SpringBoot - 配置文件application.yml使用詳解(附:Profile多環(huán)境配置)

    SpringBoot - 配置文件application.yml使用詳解(附:Profile多環(huán)境配置) 1,基本介紹 (1)YAML?是?JSON?的超集,簡潔而強(qiáng)大,是一種專門用來書寫配置文件的語言,可以替代?application.properties。 (2)在創(chuàng)建一個(gè)?SpringBoot?項(xiàng)目時(shí),引入的?spring-boot-starter-web?依賴間接地引入了?s

    2024年02月08日
    瀏覽(34)
  • 【SpringBoot系列】讀取yml文件的幾種方式

    【SpringBoot系列】讀取yml文件的幾種方式

    前言 在Spring Boot開發(fā)中,配置文件是非常重要的一部分,而yml文件作為一種常用的配置文件格式,被廣泛應(yīng)用于Spring Boot項(xiàng)目中。Spring Boot提供了多種方式來讀取yml文件中的屬性值,開發(fā)者可以根據(jù)具體的需求和場景選擇合適的方式。本文將介紹Spring Boot讀取yml文件的主要方式

    2024年02月05日
    瀏覽(15)
  • 【SpringBoot】讀取application.yml配置中的三種方式

    applicaiton.yml BootValueApplicationTests.java 打印如下所示 注意的地方 當(dāng)對應(yīng)的值不存在時(shí),系統(tǒng)會(huì)報(bào)錯(cuò)。我們可以給定一個(gè)默認(rèn)值即可。 如下所示: 在這里,sys.noValue這個(gè)值是不存在的,我們可以給定一個(gè)默認(rèn)值為123,當(dāng)然,我們?nèi)绻恢付J(rèn)值的,它的默認(rèn)值為空字符串。 優(yōu)

    2024年02月13日
    瀏覽(21)
  • springboot讀取yml文件中的list列表、數(shù)組、map集合和對象方法實(shí)例

    springboot讀取yml文件中的list列表、數(shù)組、map集合和對象方法實(shí)例

    目錄前言application.yml定義list集合application.yml定義數(shù)組類型總結(jié) 前言 springboot配置文件yml類型簡單的風(fēng)格,十分受大家的歡迎,支持字符string類型,支持列表list類型,支持集合map類型,支持?jǐn)?shù)組array類型,支持類對象類型,下面我們來實(shí)戰(zhàn)下這些形式的配置如何取值 applicatio

    2024年02月09日
    瀏覽(87)
  • SpringBoot案例-配置文件-yml配置文件

    SpringBoot案例-配置文件-yml配置文件

    SpringBoot提供了多種屬性配置方式 application.properties application.yml application.yaml 常見配置文件格式對比 XML(臃腫) properties(層級(jí)結(jié)構(gòu)不夠清晰) yml/yaml( 簡潔,以數(shù)據(jù)為中心, 推薦使用 ) 基本語法 大小寫敏感 數(shù)值前必須有空格 ,作為分隔符 使用縮進(jìn)表示層級(jí)關(guān)系,縮進(jìn)時(shí)

    2024年02月11日
    瀏覽(19)
  • java springboot yml文件配置 多環(huán)境yml

    java springboot yml文件配置 多環(huán)境yml

    如果是properties改用yml,直接新增一個(gè) .yml ,刪除原 .properties?,系統(tǒng)會(huì)自動(dòng)掃描 application.properties 和 application.yml文件(如果同時(shí)存在兩個(gè)文件,則會(huì)優(yōu)先使用.properties文件?)。?注意:改了之后 需要maven 命令 clean一下 ,清個(gè)緩存。 一、yml多環(huán)境 如果需要配置多環(huán)境的配置

    2024年02月15日
    瀏覽(28)
  • SpringBoot的配置文件(properties與yml)

    SpringBoot的配置文件(properties與yml)

    SpringBoot 項(xiàng)目中所有重要的數(shù)據(jù)都是在配置文件中配置的,比如∶ 數(shù)據(jù)庫的連接信息(包含用戶名和密碼的設(shè)置); 項(xiàng)目的啟動(dòng)端口; 第三方系統(tǒng)的調(diào)用秘鑰等信息; 用于發(fā)現(xiàn)和定位問題的普通日志和異常日志; 還可以自定義配置,如配置上傳文件的保存地址信息等。 想

    2024年02月12日
    瀏覽(21)
  • SpringBoot配置文件application.yml的理解

    SpringBoot配置文件application.yml的理解

    一、存放位置分類 1.當(dāng)前項(xiàng)目根目錄下的config目錄下 2.當(dāng)前項(xiàng)目的根目錄下 3.resources目錄下的config目錄下 4.resources目錄下 按照這上面的順序,4個(gè)配置文件的優(yōu)先級(jí)依次降低。 ?二、自定義存放位置和自定義命名 自定義存放位置和自定義配置文件命令和application.properties配置類

    2024年02月09日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包