fxleyu / west-world

This is a repository for the records of books, films, teleplay and so on.
https://fxleyu.github.io/
0 stars 0 forks source link

[阅读笔记][BS] 第 13 章 Spring 4.0 #79

Open fxleyu opened 6 years ago

fxleyu commented 6 years ago

来自于《Spring 入门经典》 #4 的阅读笔记。

本章主要内容


现在,Spring 的开发者提供了最新的版本,即 4.0 版本,它完全支持 Java 8 和 Java EE 7。本章将详细介绍该框架引入的新功能以及为了支持 Java 的新版本而添加的功能。

fxleyu commented 6 years ago

本章主要知识点

主题 关键知识点
Lambda 表达式 带有参数的匿名函数代码块,可以执行一次或多次
方法引用 类似于 Lambda 表达式的功能,但可以在代码中重复使用现有的方法
Conditional Bean Definition Model 与容器进行交互的接口,提供了应用程序配置的动态组合
@Conditional 一种注解,用来表示只有当所有给定条件都匹配时才能将组件注册到应用程序上下文中
@Repeatable 能够在一个给定的方法上多次声明某一注解的注解
@Description 能够为使用 @Component@Bean 注解定义的 Bean 来定义文字说明的注解。对于文档以及提高代码可读性很有帮助。
fxleyu commented 6 years ago

1 跟上最新技术:Java 8 和 Java EE 7 支持

通过使用 Spring 4,代码库得到了缩减,而不推荐使用的方法、类和包也都被删除。该框架所支持的规范也增加了不同的版本,所以 Java 8 和 Java EE 7 的最新功能(比如 JPA 2.1、JSR 349-Bean Validation 1.1、JTA 1.2 和 JMS 2.0)都被 Spring 4.0 支持。

Lambda 表达式

Lambda 表达式是带有参数的匿名函数代码块,可以执行一次或多次。使用 Lambda 表达式的好处是可以减少代码量并增加代码的可读性。应用程序编程接口 (API) 中的 Spring 类可以与 Lambda 表达式相集成,比如 JdbcTemplateMessageTemplateTransactionTemplate

方法引用

Java 8 所引入的新的方法引用功能提供了与 Lambda 表达式相同的功能,但它却可以重复使用现有的方法。

ContainingClass::MethodName

Bean 验证集成

Spring 4 正式支持 JSR349-Bean Validation 1.1。

JSR 310:日期时间值类型的支持

因为 Spring 的最新版本支持 Java 8,所以可以在来自 Java Development Kit (JDK) 的 Java.time 包中的类上使用 @DateTimeFormate 注解。

fxleyu commented 6 years ago

2 使用条件依赖项配置注入

fxleyu commented 6 years ago

3 对自动配置集合中的元素进行排序

在 Spring 中,可以使用 @Autowired 注解将某一特定类型的所有 Bean 都自动装配到一个集合或者数组中。在 4.0 版本之前,在装配过程中不关心注入的顺序。但现在,通过在 Bean 上使用 @Order 注解,可以为集合提供一个注入顺序。

https://github.com/fxleyu/cu-cafes/commit/9b9ac5798f4cf9fb0944f7cfab494df02d9e1e52

fxleyu commented 6 years ago

4 重复的注解