1. 程式人生 > 其它 >【Spring 從0開始】Spring5 新功能 - @Nullable 註解和函式式註冊物件

【Spring 從0開始】Spring5 新功能 - @Nullable 註解和函式式註冊物件

一、@Nullable 註解

@Nullable 註解可以使用在方法、屬性、引數上,分別表示方法返回可以為空、屬性值可以為空、引數值可以為空。

我們可以在原始碼裡找到很多示例。

1. 用在方法上

方法的返回值可以為空。

2. 用在引數上

引數可以為空。

3. 用在屬性上

屬性值可以為空。

二、支援函式式風格

比如這裡有一個類:

public class User {
    public static void main(String[] args) {
        User user = new User();
    }
}

在 main 方法裡手動建立了一個物件,但是這個並沒有交給 spring 管理,因為沒有註冊。

spring5 裡支援函式式風格建立物件,並交給 spring 來管理。

    @Test
    public void testGeneric() {
        // 建立 GenericApplicationContext 物件
        GenericApplicationContext context = new GenericApplicationContext();

        // 呼叫 context 物件的方法進行註冊,用 Lambda 表示式
        context.refresh();
        context.registerBean("user1", User.class, () -> new User());

        // 獲取在 spring 中建立的物件
        User user = (User) context.getBean("user1");
        System.out.println(user);
    }

執行測試:

com.pingguo.spring5.test.User@76707e36

Process finished with exit code 0
--不要用肉體的勤奮,去掩蓋思考的懶惰--