Spring5新功能@Nullable注解及函數(shù)式注冊(cè)對(duì)象
Spring5新功能
一、@Nullable 注解
@Nullable 注解可以使用在方法、屬性、參數(shù)上,分別表示方法返回可以為空、屬性值可以為空、參數(shù)值可以為空。
我們可以在源碼里找到很多示例。
1. 用在方法上
方法的返回值可以為空。

2. 用在參數(shù)上
參數(shù)可以為空。

3. 用在屬性上
屬性值可以為空。

二、支持函數(shù)式風(fēng)格
比如這里有一個(gè)類:
public class User {
public static void main(String[] args) {
User user = new User();
}
}在 main 方法里手動(dòng)創(chuàng)建了一個(gè)對(duì)象,但是這個(gè)并沒有交給 spring 管理,因?yàn)闆]有注冊(cè)。
spring5 里支持函數(shù)式風(fēng)格創(chuàng)建對(duì)象,并交給 spring 來管理。
@Test
public void testGeneric() {
// 創(chuàng)建 GenericApplicationContext 對(duì)象
GenericApplicationContext context = new GenericApplicationContext();
// 調(diào)用 context 對(duì)象的方法進(jìn)行注冊(cè),用 Lambda 表達(dá)式
context.refresh();
context.registerBean("user1", User.class, () -> new User());
// 獲取在 spring 中創(chuàng)建的對(duì)象
User user = (User) context.getBean("user1");
System.out.println(user);
}運(yùn)行測(cè)試:
com.pingguo.spring5.test.User@76707e36 Process finished with exit code 0
以上就是Spring5新功能詳解@Nullable注解及函數(shù)式注冊(cè)對(duì)象的詳細(xì)內(nèi)容,更多關(guān)于Spring5 @Nullable注解的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Spring五大類注解讀取存儲(chǔ)Bean對(duì)象的方法
- Spring如何通過注解存儲(chǔ)和讀取對(duì)象詳解
- Spring?IOC容器Bean注解創(chuàng)建對(duì)象組件掃描
- Spring?代理?Bean?獲取不到原始?Bean?對(duì)象注解解決方法
- Spring代理對(duì)象導(dǎo)致的獲取不到原生對(duì)象注解的解決
- Spring AOP如何在注解上使用SPEL表達(dá)式注入對(duì)象
- Spring使用@Autowired注解靜態(tài)實(shí)例對(duì)象方式
- Spring使用注解方式實(shí)現(xiàn)創(chuàng)建對(duì)象
相關(guān)文章
Springboot實(shí)現(xiàn)公共字段填充的示例詳解
這篇文章主要為大家詳細(xì)介紹了Springboot實(shí)現(xiàn)公共字段填充的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們深入學(xué)習(xí)springboot有一定的幫助,感興趣的小伙伴可以了解下2023-10-10
MyBatis中的collection兩種使用方法及效率比較
collection主要是應(yīng)對(duì)表關(guān)系是一對(duì)多的情況,本文主要介紹了MyBatis中的collection兩種使用方法及效率比較,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Java 實(shí)現(xiàn)麥克風(fēng)自動(dòng)錄音
這篇文章主要介紹了Java 實(shí)現(xiàn)麥克風(fēng)自動(dòng)錄音的示例代碼,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12
Javaweb基礎(chǔ)入門HTML之table與form
HTML的全稱為超文本標(biāo)記語言,是一種標(biāo)記語言。它包括一系列標(biāo)簽.通過這些標(biāo)簽可以將網(wǎng)絡(luò)上的文檔格式統(tǒng)一,使分散的Internet資源連接為一個(gè)邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動(dòng)畫、聲音、表格、鏈接等2022-03-03
Java String字符串和Unicode字符相互轉(zhuǎn)換代碼詳解
這篇文章主要介紹了Java String字符串和Unicode字符相互轉(zhuǎn)換代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
java 中DH的方式實(shí)現(xiàn)非對(duì)稱加密的實(shí)例
這篇文章主要介紹了java 中DH的方式實(shí)現(xiàn)非對(duì)稱加密的實(shí)例的相關(guān)資料,這里提供實(shí)現(xiàn)簡(jiǎn)單實(shí)例,需要的朋友可以參考下2017-08-08
Required?request?body?is?missing的問題及解決
這篇文章主要介紹了Required?request?body?is?missing的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
IDEA 非常重要的一些設(shè)置項(xiàng)(一連串的問題差點(diǎn)讓我重新用回 Eclipse)
這篇文章主要介紹了IDEA 非常重要的一些設(shè)置項(xiàng)(一連串的問題差點(diǎn)讓我重新用回 Eclipse),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Java14發(fā)布了,再也不怕NullPointerException了
這篇文章主要介紹了Java14發(fā)布了,再也不怕NullPointerException了,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-03-03

