Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
Spring实战(第6版)MEAP 中文翻译版 PDF 下载
发布于:2024-03-13 11:27:27
(假如点击没反应,多刷新两次就OK!)

Spring实战(第6版)MEAP 中文翻译版  PDF 下载 图1

 

 

 

资料内容:

 

1.1 什么是 Spring
我知道您可能很想开始编写 Spring 应⽤程序,我向您保证,在本章
结束之前,您将开发⼀个简单的应⽤程序。但是⾸先,我得介绍⼀些
Spring 的基本概念,以帮助您了解 Spring 的变化。
任何不平凡的应⽤程序都由许多组件组成,每个组件负责⾃⼰的在整
体应⽤程序中的那部分功能,并与其他应⽤程序元素协调以完成⼯
作。在运⾏应⽤程序时,需要以某种⽅式创建这些组件并相互引⽤。
Spring 的核⼼是⼀个 容器,通常称为 Spring 应⽤程序上下⽂,⽤
于创建和管理应⽤程序组件。这些组件(或 bean)在 Spring 应⽤
程序上下⽂中连接在⼀起以构成⼀个完整的应⽤程序,就像将砖、灰
浆、⽊材、钉⼦、管道和电线绑在⼀起以组成房屋。
bean 连接在⼀起的⾏为是基于⼀种称为 依赖注⼊DI)的模式。
依赖项注⼊的应⽤程序不是由组件⾃⾝创建和维护它们依赖的其他
bean 的⽣命周期,⽽是依赖于单独的实体(容器)来创建和维护所
有组件,并将这些组件注⼊需要它们的 bean。通常通过构造函数参数
或属性访问器⽅法完成此操作。例如,假设在应⽤程序的许多组件中,要处理两个组件:inventory
service(⽤于获取库存级别)和 product service(⽤于提供基本
产品信息)。product service 取决于 inventory service,以便能
够提供有关产品的完整信息。图 1.1 说明了这些 bean Spring
⽤程序上下⽂之间的关系。
除了其核⼼容器之外,Spring 和完整的相关库产品组合还提供 Web
框架、各种数据持久性选项、安全框架与其他系统的集成、运⾏时监
视、微服务⽀持、响应式编程模型以及许多其他功能,应⽤于现代应
⽤程序开发。
从历史上看,引导 Spring 应⽤程序上下⽂将 bean 连接在⼀起的⽅
式是使⽤⼀个或多个 XML ⽂件,这些⽂件描述了组件及其与其他组
件的关系。例如,以下 XML 声明两个 bean,⼀个InventoryService bean 和⼀个 ProductService bean,然后通过构
造函数参数将 InventoryService bean 注⼊到 ProductService 中:
<bean id="inventoryService"
class="com.example.InventoryService" />
<bean id="productService"
class="com.example.ProductService" />
<constructor-arg ref="inventoryService" />
</bean>
但是,在最新版本的 Spring 中,基于 Java 的配置更为常⻅。以下
基于 Java 的配置类等效于 XML 配置:
@Configuration
public class ServiceConfiguration {
@Bean
public InventoryService inventoryService() {
return new InventoryService();
}
@Bean
public ProductService productService() {
return new ProductService(inventoryService());
}
}
@Configuration 注释向 Spring 表明这是⼀个配置类,它将为 Spring
应⽤程序上下⽂提供 beans
配置的类⽅法带有 @Bean 注释,指⽰它们返回的对象应作为 beans
添加到应⽤程序上下⽂中(默认情况下,它们各⾃的 bean IDs 将与
定义它们的⽅法的名称相同)。
与基于 XML 的配置相⽐,基于 Java 的配置具有多个优点,包括更⾼
的类型安全性和改进的可重构性。即使这样,仅当 Spring ⽆法⾃动
配置组件时,才需要使⽤ Java XML 进⾏显式配置。⾃动配置起源于 Spring 技术,即 ⾃动装配 组件扫描。借助组件扫
描,Spring 可以⾃动从应⽤程序的类路径中发现组件,并将其创建
Spring 应⽤程序上下⽂中的 bean。通过⾃动装配,Spring 会⾃
动将组件与它们依赖的其他 bean ⼀起注⼊。
最近,随着 Spring Boot 的推出,⾃动配置的优势已经远远超出了组
件扫描和⾃动装配。Spring Boot Spring 框架的扩展,它提供了
多项⽣产⼒增强功能。这些增强功能中最著名的就是 ⾃动配置,在这
种配置中,Spring Boot 可以根据类路径中的条⽬、环境变量和其他
因素,合理地猜测需要配置哪些组件,并将它们连接在⼀起。
这⾥想要展⽰⼀些演⽰⾃动配置的⽰例代码,但是并没有这样的代
码,⾃动配置就如同⻛⼀样,可以看到它的效果,但是没有代码可以
展⽰。我可以说看!这是⾃动配置的⽰例!事情发⽣、组件启⽤并
且提供了功能,⽽⽆需编写代码。缺少代码是⾃动配置必不可少的要
素,这使它如此出⾊。
Spring Boot ⾃动配置⼤⼤减少了构建应⽤程序所需的显式配置(⽆
论是 XML 还是 Java)的数量。实际上,当完成本章中的⽰例时,将
拥有⼀个正在运⾏的 Spring 应⽤程序,该应⽤程序仅包含⼀⾏
Spring 配置代码!
Spring Boot 极⼤地增强了 Spring 开发的能⼒,很难想象没有它如
何开发 Spring 应⽤程序。因此,本书将 Spring Spring Boot
为⼀模⼀样。我们将尽可能使⽤ Spring Boot,并仅在必要时使⽤显
式配置。⽽且,由于 Spring XML 配置是使⽤ Spring 的⽼派⽅式,
因此我们将主要关注基于 Java Spring 配置。
但是有这些功能就⾜够了,本书的标题包括 实战 这个词语,因此让
我们动起来,⽴⻢开始使⽤ Spring 编写第⼀个应⽤程序。