服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Spring5新功能@Nullable注解及函数式注册对象

Spring5新功能@Nullable注解及函数式注册对象

2023-02-07 13:46把苹果咬哭的测试笔记 Java教程

这篇文章主要为大家介绍了Spring5新功能详解@Nullable注解及函数式注册对象,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Spring5新功能

一、@Nullable 注解

@Nullable 注解可以使用在方法、属性、参数上,分别表示方法返回可以为空、属性值可以为空、参数值可以为空。

我们可以在源码里找到很多示例。

1. 用在方法上

方法的返回值可以为空。

Spring5新功能@Nullable注解及函数式注册对象

2. 用在参数上

参数可以为空。

Spring5新功能@Nullable注解及函数式注册对象

3. 用在属性上

属性值可以为空。

Spring5新功能@Nullable注解及函数式注册对象

二、支持函数式风格

比如这里有一个类:

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

以上就是Spring5新功能详解@Nullable注解及函数式注册对象的详细内容,更多关于Spring5 @Nullable注解的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/wessonlan/article/details/124812956

延伸 · 阅读

精彩推荐