Spring 学习

Spring 学习(十一)一些新功能

/ 12 阅读 / 约 1589 字

本 Spring 框架基于 5.3.6 版本撰写的,Spring 5 中新增了一些新特性,如下:

  1. JDK 版本升级

    Spring 5 框架的代码基于 Java8,在使用时,JDK 的版本至少需要 8 以上,将之前版本中不建议使用的类和方法都进行了删除。

  2. 通用日志

    Spring 5 框架自带了通用的日志封装,移除了 Log4jConfigListener,官方整合并建议使用 Log4j2

  3. 支持 @Nullable 注解

    在平时使用中,遇到一个空的值,那么可能报空指针异常,加了这个注解后,就不会出现异常了。

    • 放在方法上,表示方法返回值可以为空
    • 放在属性上,表示属性值可以为空
    • 放在参数前,表示参数值可以为空
  4. 支持函数式编程

    也就是能通过使用 Lambda 表达式完成一些操作,例如:

    public static void main(String[] args) {
        //1 创建 GenericApplicationContext 对象
        GenericApplicationContext context = new GenericApplicationContext();
        //2 调用 context 的方法对象注册
        context.refresh();
        context.registerBean("user", User.class, () -> new User());
        //3 获取在 spring 注册的对象
        User user = (User) context.getBean("user1");
        System.out.println(user);
    }
    
  5. 整合了 JUnit5

    使用 JUnit4 时的单元测试如下:

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath:bean1.xml")
    public class TestJunit4 {
        @Autowired
        private User user;
    
        @Test
        public void test01() {
            System.out.println(user);
        }
    }
    

    使用 JUnit5:

    @SpringJUnitConfig(locations = "classpath:bean1.xml")
    public class TestJunit5 {
        @Autowired
        private User user;
    
        @Test
        public void test01() {
            System.out.println(user);
        }
    }
    

    JUnit4 中的 @Test 注解是 org.junit.jupiter.api.Test,而 JUnit5 是 org.junit.Test

  6. WebFlux 需要 SpringMVC、SpringBoot 等知识才可以较为顺利的学习下去,目前在这里就不继续探讨了,说不准有一天我可能就会补上了。

最后更新: 2021-06-21 11:45:08
版权声明: 本文著作权归 [ CareyQ ] 享有,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!
评论
  • 🇨🇳
  • 👆
  • 👇
  • 👈
  • 👉
  • 👊
  • 👋
  • 👌
  • 👍
  • 👎
  • 👏
  • 👨‍👦
  • 👨‍👧
  • 👨‍👨‍👦
  • 👨‍👨‍👧
  • 😀
  • 😁
  • 😂
  • 😃
  • 😄
  • 😅
  • 😆
  • 😇
  • 😈
  • 😉
  • 😊
  • 😋
  • 😌
  • 😍
  • 😎
  • 😏
  • 😐
  • 😑
  • 😒
  • 😓
  • 😔
  • 😕
  • 😖
  • 😗
  • 😘
  • 😙
  • 😚
  • 😛
  • 😜
  • 😝
  • 😞
  • 😟
  • 😠
  • 😡
  • 😢
  • 😣
  • 😤
  • 😦
  • 😧
  • 😨
  • 😩
  • 😪
  • 😫
  • 😬
  • 😭
  • 😮
  • 😯
  • 😰
  • 😱
  • 😲
  • 😳
  • 😴
  • 😵
  • 😶
  • 😷
  • 😸
  • 😹
  • 😺
  • 😻
  • 😼
  • 😽
  • 😾
  • 😿
  • 🙀
  • 🙁
  • 🙂
  • 🙃
  • 🙄
还没有评论 /(ㄒoㄒ)/~~