SpringBoot开发与测试实战全文免费阅读

计算机与互联网 李泳 编著
简介: 一本关于Spring Boot应用程序开发和测试的入门图书。

第1章

Spring Boot

Spring是一个开源的Java EE(Java Enterprise Edition)应用程序开发框架,是为应对企业级应用程序开发复杂性而创建的,其设计初衷是替代当时非常“笨重”的企业Java组件(Enterprise Java Beans,EJB),让Java EE应用程序开发变得更加简单、灵活。

Spring包含很多子项目,如Spring MVC、Spring Security和Spring Data等,几乎可以满足项目开发的所有需求。这是它能够成为Web项目开发首选框架的原因之一。

1.1

Spring框架的优势

框架的主要作用是把大量最佳实践的经验固化,从而降低开发人员的使用成本,让开发人员专注于做什么,而不是怎么做。例如,常见的Web分层框架通常将技术或接口的实现细节隐藏,不仅让架构师和开发人员关注项目技术结构设计,还让开发人员更关注某一层业务与功能的实现。

Spring的核心功能是将所有模块和组件整合成一个应用程序。这个过程中,首先读取配置说明(如XML配置、Java的配置等),然后在应用程序上下文中初始化Bean,将Bean注入依赖它们的其他Bean。

Spring的主要优势如下。

● 轻量级。Spring基于POJO(Plain Ordinary Java Object)模型,是轻量级框架。

● 非侵入式方法。Spring并不强制扩展类或接口。

● 低耦合。由于使用依赖注入(Dependency Injection,DI),因此Spring对象是低耦合的。

● 模块化。Spring采用模块化设计,只能使用所需的模块。

● 易于测试。依赖注入和POJO模型使应用程序易于测试。

● 事务管理。Spring为事务管理提供事务管理接口。

● 不需要应用程序服务器。以前的Struts或EJB应用程序需要运行应用程序服务器,但Spring应用程序不需要应用程序服务器。

● 模型-视图-控制器(Model-View-Controller,MVC)框架。无缝集成Spring MVC框架,这让程序员更加关注业务逻辑。

1.2

Spring基本概念

对于初学者,想要了解Spring,需要先熟悉一些术语,如容器、POJO、Bean、耦合度、依赖、依赖注入等,下面分别进行介绍。

1.容器

生活中的容器是用于盛放东西的器具。从程序的角度来看,容器是装“对象”的对象,管理对对象的整个生命周期,即负责从创建、获取到回收的全过程。

2.POJO

POJO即简单旧式Java对象,是指那些不依赖任何特定环境的类或接口。POJO没有从任何类继承,没有实现任何接口,也没有被其他框架注入。

3.Bean

Bean就是由容器初始化、装配和管理的对象。Spring的核心是IoC容器。容器的职能包括对应用程序对象进行实例化、初始化和装配,以及在对象的整个生命周期中Spring的其他功能。这些被容器创建和管理的标准Java对象称为Bean。这些Java对象都是POJO。Bean的作用如下。

● 以某种方式配置Spring(数据库连接参数、安全性等)。

● 使用依赖注入避免硬编码依赖项,以便代码的类保持独立且可进行单元测试。

4.配置元数据

配置元数据用于向容器提供相关的信息,以便实例化Bean并制订对这些Bean进行装配的方法。配置元数据的传统格式是XML,可以选择注解,或基于Java的配置元数据。容器首先获取应用程序中编写的类,并与配置元数据结合,然后创建和装配Bean。

5.依赖

Spring的重要特性是依赖注入。想要了解依赖注入,需要先了解什么是依赖。我们先看架构层的依赖。一个典型的Java应用程序的体系结构包含Web层、业务层和数据层。其中,Web层依赖业务层,业务层是Web层的依赖项;业务层依赖数据层,数据层是业务层的依赖项。关于类级别的依赖例子如下列代码所示,BookImpl是业务类,它的实现方法需要使用productDo和itemDo这两个数据层类,因此productDo和itemDo是BookImpl的依赖项。

版权:人民邮电出版社