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

Spring中的注解@Value("#{}")與@Value("${}")的區(qū)別介紹

 更新時間:2023年06月12日 09:50:29   作者:fckey  
這篇文章主要介紹了Spring中的注解@Value(“#{}“)與@Value(“${}“)的區(qū)別到底是什么,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1 @Value("#{}") SpEL表達式

@Value("#{}") 表示SpEl表達式通常用來獲取bean的屬性,或者調(diào)用bean的某個方法。當然還有可以表示常量

@RestController  
@RequestMapping("/login")  
@Component  
public class LoginController {  
    @Value("#{1}")  
    private int number; //獲取數(shù)字 1  
    @Value("#{'Spring Expression Language'}") //獲取字符串常量  
    private String str;  
    @Value("#{dataSource.url}") //獲取bean的屬性  
    private String jdbcUrl;  
    @Autowired  
    private DataSourceTransactionManager transactionManager;  
    @RequestMapping("login")  
    public String login(String name,String password) throws FileNotFoundException{  
        System.out.println(number);  
        System.out.println(str);  
        System.out.println(jdbcUrl);  
        return "login";  
    }  
}  

當bean通過@Value(#{""}) 獲取其他bean的屬性,或者調(diào)用其他bean的方法時,只要該bean (Beab_A)能夠訪問到被調(diào)用的bean(Beab_B),即要么Beab_A 和Beab_B在同一個容器中,或者Beab_B所在容器是Beab_A所在容器的父容器。(拿我上面貼出來的代碼為例在springMvc項目中,dataSource這個bean一般是在springContext.xml文件中申明的,而loginController這個bean一般是在springMvc.xml文件中申明的,雖然這兩個bean loginController和dataSource不在一個容器,但是loginController所在容器繼承了dataSource所在的容器,所以在loginController這個bean中通過@Value("#{dataSource.url}")能夠獲取到dataSource的url屬性)。

2 @Value("${}")

通過@Value("${}") 可以獲取對應(yīng)屬性文件中定義的屬性值。假如我有一個sys.properties文件 里面規(guī)定了一組值: web.view.prefix =/WEB-INF/views/

在springMvc.xml文件中引入下面的代碼既即以在 該容器內(nèi)通過@Value("${web.view.prefix}")獲取這個字符串。需要指出的是,如果只在springMvc.xml引入下面代碼,只能在springMvc.xml文件中掃描或者注冊的bean中才能通過@Value("${web.view.prefix}")獲取這個字符串,其他未在springMvc.xml掃描和定義的bean必須在相應(yīng)的xml文件中引入下面代碼才能使用@Value("${}”)表達式

  1. <!-- 加載配置屬性文件 -->
  2. <context:property-placeholder
  3. ignore-unresolvable="true" location="classpath:sys.properties" />

然后再controller文件中通過下面代碼即可獲取“”/WEB-INF/views/“”這個字符串

  1. @Value("${web.view.prefix}")
  2. private String prefix;

到此這篇關(guān)于Spring中的注解@Value(“#{}“)與@Value(“${}“)的區(qū)別到底是什么?的文章就介紹到這了,更多相關(guān)Spring注解@Value(“#{}“)與@Value(“${}“)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java?數(shù)組實現(xiàn)學生成績統(tǒng)計教程

    java?數(shù)組實現(xiàn)學生成績統(tǒng)計教程

    這篇文章主要介紹了java?數(shù)組實現(xiàn)學生成績統(tǒng)計教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 淺談一下Java中的幾種JVM級別的鎖

    淺談一下Java中的幾種JVM級別的鎖

    這篇文章主要介紹了淺談一下Java中的幾種JVM級別的鎖,當存在安全漏洞時,也必須有相應(yīng)的防護措施。順應(yīng)這種趨勢,虛擬"鎖"被發(fā)明出來,以解決線程的安全問題。在這篇文章中,我們將研究多年來出現(xiàn)的?Java?中幾種典型的?JVM?級鎖,需要的朋友可以參考下
    2023-08-08
  • @ConfigurationProperties遇到的坑及解決

    @ConfigurationProperties遇到的坑及解決

    這篇文章主要介紹了解決@ConfigurationProperties遇到的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • spring boot tomcat jdbc pool的屬性綁定

    spring boot tomcat jdbc pool的屬性綁定

    這篇文章主要介紹了spring boot tomcat jdbc pool的屬性綁定的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2018-01-01
  • Java設(shè)計模式之單例模式Singleton Pattern詳解

    Java設(shè)計模式之單例模式Singleton Pattern詳解

    這篇文章主要介紹了Java設(shè)計模式之單例模式Singleton Pattern詳解,一些常用的工具類、線程池、緩存,數(shù)據(jù)庫,數(shù)據(jù)庫連接池、賬戶登錄系統(tǒng)、配置文件等程序中可能只允許我們創(chuàng)建一個對象,這就需要單例模式,需要的朋友可以參考下
    2023-12-12
  • 詳解Java打包及上傳到私服務(wù)的方法

    詳解Java打包及上傳到私服務(wù)的方法

    這篇文章主要介紹了Java打包及上傳到私服務(wù)的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • MybatisPlus 連表查詢、邏輯刪除功能實現(xiàn)(多租戶)

    MybatisPlus 連表查詢、邏輯刪除功能實現(xiàn)(多租戶)

    這篇文章主要介紹了MybatisPlus 連表查詢、邏輯刪除功能實現(xiàn)(多租戶),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Maven的使用之繼承與聚合

    Maven的使用之繼承與聚合

    這篇文章主要為大家詳細介紹了Maven的繼承和聚合,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2023-04-04
  • Hadoop2.8.1完全分布式環(huán)境搭建過程

    Hadoop2.8.1完全分布式環(huán)境搭建過程

    本文搭建了一個由三節(jié)點(master、slave1、slave2)構(gòu)成的Hadoop完全分布式集群(區(qū)別單節(jié)點偽分布式集群),并通過Hadoop分布式計算的一個示例測試集群的正確性。對hadoop分布式環(huán)境搭建過程感興趣的朋友跟隨小編一起看看吧
    2019-06-06
  • SpringBoot jar包大小優(yōu)化問題及解決

    SpringBoot jar包大小優(yōu)化問題及解決

    這篇文章主要介紹了SpringBoot jar包大小優(yōu)化問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論