Spring5新功能@Nullable注解及函數(shù)式注冊對象
Spring5新功能
一、@Nullable 注解
@Nullable 注解可以使用在方法、屬性、參數(shù)上,分別表示方法返回可以為空、屬性值可以為空、參數(shù)值可以為空。
我們可以在源碼里找到很多示例。
1. 用在方法上
方法的返回值可以為空。
2. 用在參數(shù)上
參數(shù)可以為空。
3. 用在屬性上
屬性值可以為空。
二、支持函數(shù)式風格
比如這里有一個類:
public class User { public static void main(String[] args) { User user = new User(); } }
在 main 方法里手動創(chuàng)建了一個對象,但是這個并沒有交給 spring 管理,因為沒有注冊。
spring5 里支持函數(shù)式風格創(chuàng)建對象,并交給 spring 來管理。
@Test public void testGeneric() { // 創(chuàng)建 GenericApplicationContext 對象 GenericApplicationContext context = new GenericApplicationContext(); // 調(diào)用 context 對象的方法進行注冊,用 Lambda 表達式 context.refresh(); context.registerBean("user1", User.class, () -> new User()); // 獲取在 spring 中創(chuàng)建的對象 User user = (User) context.getBean("user1"); System.out.println(user); }
運行測試:
com.pingguo.spring5.test.User@76707e36 Process finished with exit code 0
以上就是Spring5新功能詳解@Nullable注解及函數(shù)式注冊對象的詳細內(nèi)容,更多關于Spring5 @Nullable注解的資料請關注腳本之家其它相關文章!
相關文章
MyBatis中的collection兩種使用方法及效率比較
collection主要是應對表關系是一對多的情況,本文主要介紹了MyBatis中的collection兩種使用方法及效率比較,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06Java String字符串和Unicode字符相互轉(zhuǎn)換代碼詳解
這篇文章主要介紹了Java String字符串和Unicode字符相互轉(zhuǎn)換代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05Required?request?body?is?missing的問題及解決
這篇文章主要介紹了Required?request?body?is?missing的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12IDEA 非常重要的一些設置項(一連串的問題差點讓我重新用回 Eclipse)
這篇文章主要介紹了IDEA 非常重要的一些設置項(一連串的問題差點讓我重新用回 Eclipse),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Java14發(fā)布了,再也不怕NullPointerException了
這篇文章主要介紹了Java14發(fā)布了,再也不怕NullPointerException了,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-03-03