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

springboot的@Value中#和$區(qū)別詳解

 更新時(shí)間:2023年11月18日 09:38:01   作者:morris131  
這篇文章主要介紹了springboot的@Value中#和$區(qū)別詳解,@Value注解的作用主要可以給屬性直接賦值、也可以讀取配置文件中的值給屬性賦值,需要的朋友可以參考下

@Value中$的使用

@Value注解的作用主要可以給屬性直接賦值、也可以讀取配置文件中的值給屬性賦值。

$用來(lái)讀取配置文件中的值。

package com.morris.spring.boot.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
@Data
public class AtValueConfig {

    // 直接賦值
    @Value("hello")
    private String hello; // hello

    // 讀取配置文件中的value.name
    @Value("${value.name}")
    private String name; // morris

    // 讀取配置文件中的value.age,不存在給個(gè)默認(rèn)值
    @Value("${value.age:18}")
    private Integer age; // 18

    private Integer num;

    // 通過(guò)set方法注入,這樣可以對(duì)類型不匹配的異常進(jìn)行捕獲
    @Value("${value.num:xxx}")
    public void setNum(String num) {
        try {
            this.num = Integer.parseInt(num);
        } catch (Exception e) {
            // ignore
        }
    }
}

@Value中#的使用

#其實(shí)是Spring Expression Language (SpEL)表達(dá)式,可以在注入屬性前進(jìn)行一些簡(jiǎn)單的計(jì)算等邏輯。

@Value(“#{}”)中使用關(guān)系操作符:

    // Relational Operators 關(guān)系操作符
    @Value("#{2 == 2}")
    private boolean b1; // true

    @Value("#{2 < 1}")
    private boolean b2; // false

    @Value("#{2 > 1}")
    private boolean b3; // true

@Value(“#{}”)中使用邏輯操作符:

    // Logical Operators 邏輯操作符
    @Value("#{true && false}")
    private boolean b4; // false

    @Value("#{true || false}")
    private boolean b5; // true

    @Value("#{!false}")
    private boolean b6; // true

@Value(“#{}”)中使用算數(shù)操作符:

    // Mathematical Operators 算數(shù)操作符
    // Addition
    @Value("#{1 + 1}")
    private int two;  // 2

    @Value("#{'test' + ' ' + 'string'}")
    private String testString;  // 'test string'

    // Subtraction
    @Value("#{1 - -3}")
    private int four;  // 4

    @Value("#{1000.00 - 1e4}")
    private double d;  // -9000.0

    // Multiplication
    @Value("#{-2 * -3}")
    private int six;  // 6

    @Value("#{2.0 * 3e0 * 4}")
    private double twentyFour;  // 24.0

    // Division
    @Value("#{6 / -3}")
    private int minusTwo;  // -2

    @Value("#{8.0 / 4e0 / 2}")
    private double one;  // 1.0

    // Modulus
    @Value("#{7 % 4}")
    private int three;  // 3

    @Value("#{18 / 5 % 3}")
    private int zero;  // 0

    // Operator precedence
    @Value("#{1+2-3*8}")
    private int minusTwentyOne;  // -21

@Value(“#{}”)中使用方法:

    // 使用方法
    @Value("#{'abc'.substring(1, 3)}")
    private String bc; // bc

    @Value("#{'123'.length}")
    private int num; // 3

@Value中#和$結(jié)合使用

@Value中#和$結(jié)合使用注入list:

    // 注入list
    @Value("#{${value.list:'123,456,789'}.split(',')}")
    private List<String> list;

@Value中#和$結(jié)合使用注入array:

    // 注入數(shù)組
    @Value("#{${value.array:'123,456,789'}.split(',')}")
    private List<String> array;

@Value中#和$結(jié)合使用注入map:

    // 注入map
    @Value("#{${value.map:{'name':'morris','age':18}}}")
    private Map<String, String> map;

到此這篇關(guān)于springboot的@Value中#和$區(qū)別詳解的文章就介紹到這了,更多相關(guān)@Value中#和$區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis Plus 代碼生成器的實(shí)現(xiàn)

    Mybatis Plus 代碼生成器的實(shí)現(xiàn)

    這篇文章主要介紹了Mybatis Plus 代碼生成器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)頁(yè)截屏功能示例

    Java實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)頁(yè)截屏功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)頁(yè)截屏功能,涉及java網(wǎng)頁(yè)打開(kāi)及屏幕截圖功能相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Java Redis Redisson配置教程詳解

    Java Redis Redisson配置教程詳解

    這篇文章主要介紹了Java Redis Redisson配置教程,包括Session共享配置及其他Redisson的Config配置方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • java 遍歷request中的所有表單數(shù)據(jù)的實(shí)例代碼

    java 遍歷request中的所有表單數(shù)據(jù)的實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇java 遍歷request中的所有表單數(shù)據(jù)的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Springboot mybais配置多數(shù)據(jù)源過(guò)程解析

    Springboot mybais配置多數(shù)據(jù)源過(guò)程解析

    這篇文章主要介紹了Springboot+mybais配置多數(shù)據(jù)源過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • spring 整合 mybatis 中數(shù)據(jù)源的幾種配置方式(總結(jié)篇)

    spring 整合 mybatis 中數(shù)據(jù)源的幾種配置方式(總結(jié)篇)

    因?yàn)閟pring 整合mybatis的過(guò)程中, 有好幾種整合方式,尤其是數(shù)據(jù)源那塊,經(jīng)??吹讲灰粯拥呐渲梅绞?,總感覺(jué)有點(diǎn)亂,所以今天有空總結(jié)下,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • Java SpringMVC的@RequestMapping注解使用及說(shuō)明

    Java SpringMVC的@RequestMapping注解使用及說(shuō)明

    這篇文章主要介紹了Java SpringMVC的@RequestMapping注解使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Springmvc國(guó)際化自動(dòng)配置代碼實(shí)現(xiàn)

    Springmvc國(guó)際化自動(dòng)配置代碼實(shí)現(xiàn)

    這篇文章主要介紹了Springmvc國(guó)際化自動(dòng)配置代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot+Mybatis使用Enum枚舉類型總是報(bào)錯(cuò)No enum constant XX問(wèn)題

    SpringBoot+Mybatis使用Enum枚舉類型總是報(bào)錯(cuò)No enum constant&n

    這篇文章主要介紹了SpringBoot+Mybatis使用Enum枚舉類型總是報(bào)錯(cuò)No enum constant XX問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java十分鐘精通類?封裝?繼承

    Java十分鐘精通類?封裝?繼承

    基礎(chǔ)不牢地動(dòng)山搖,類、封裝、繼承是我們?cè)趯W(xué)習(xí)基礎(chǔ)時(shí)必然要碰到的知識(shí)點(diǎn),讓我們一起來(lái)學(xué)習(xí)或回顧一下,感興趣的伙伴來(lái)看看吧
    2022-03-03

最新評(píng)論