【Spring 從0開始】Spring5 新功能 - @Nullable 註解和函式式註冊物件
阿新 • • 發佈:2021-08-08
一、@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
--不要用肉體的勤奮,去掩蓋思考的懶惰--