猜你喜欢
Spring Boot 2企业应用实战

Spring Boot 2企业应用实战

书籍作者:疯狂软件 ISBN:9787121341168
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9748
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书介绍了Java EE领域的全新开源框架:Spring Boot。其中Spring的版本为5.0。本书的示例建议在Tomcat 8上运行。本书重点介绍如何使用Spring Boot 2进行Java EE快速开发,主要包括四个部分。第一部分详细介绍了Spring Boot的核心知识。第二部分详细介绍了Spring Boot的Web开发。第三部分重点介绍了Spring Boot的数据访问。第四部分重点介绍了Spring Boot的Spring Security安全控制。并示范开发了一个包含7个表、表之间具有复杂的关联映射关系,且业务功能也相对完善的IMS信息管理系统案例,希望让读者理论联系实际,将Spring Boot框架真正运用到实际开发当中去。该案例采用目前*流行、*规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。所有代码完全基于Eclipse IDE来完成,一步步带领读者深入两个框架的核心。

作者简介

疯狂软件,多年来从事Java开发、移动开发等方面的培训及研发工作,承接大型研发项目。疯狂软件是广州为学教育科技有限公司的教育品牌,立志以务实的技术来改变中国的软件教育,所培训的学生入职华为、阿里软件、唯品会、网易、IBM等IT名企。

编辑推荐
适读人群 :本书适合具有一定Java编程基础的开发人员、计算机及相关专业高年级在校生

1.基于正式发布的Spring Boot 2,支持Spring 5。
2.提供配套代码下载及微信、QQ群答疑服务。
3.《疯狂Java讲义》《轻量级Java EE企业应用实战》作者李刚指导创作。

4.贴近实际项目,以案例驱动
本书全面介绍了全新的Spring Boot 2和常用第三方框架整合开发相关的各方面知识。
5.内容深入,讲解细致
书中操作步骤细致,编程思路清晰,语言平实易懂。读者参考本书的架构,可以身临其境地感受企业实际项目开发。


前言

时至今日,以Spring为核心的轻量级Java EE企业开发平台在企业开发中占有绝对的优势,Java EE应用以其稳定的性能、良好的开放性以及严格的安全性,深受企业应用开发者的青睐,应用的性能、稳定性都有很好的保证。

Spring在Java EE开发中是实际意义上的标准,但是在实际项目开发中使用Spring的时候经常遇到两个让人非常头疼的问题:

(1)大量的配置文件

(2)与第三方框架整合

特别是在今天,脚本语言和敏捷开发大行其道之时,Spring的开发显得尤其烦琐。而Spring Boot的推出正具有颠覆和划时代的意义。如果说Spring框架的目标是帮助开发者写出更好的系统,那Spring Boot的目标就是帮助开发者用更少的代码,更快地写出好的系统。

Spring Boot从无数知名企业的实践中吸取经验,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot遵循“约定优于配置”原则,从而使开发人员不再需要定义样板化的配置,只需要很少的配置,或者大部分时候只是使用默认配置就可以快速搭建项目,无须配置整合第三方框架。通过这种方式,Spring Boot在蓬勃发展的快速应用开发(rapid application development)领域已经成为领导者。

本书基于Spring Boot 2.0版本,重点介绍Spring Boot框架,采用Tomcat 8作为Web服务器,Eclipse IDE作为开发工具,详细介绍了Spring Boot框架的绝大部分功能。希望读者在阅读、学习完本书之后,能够掌握Spring Boot技术,更快更好地开发出Java EE项目,为Java开发者带来更多的就业机会与竞争力。

本书有什么特点

本书是一本介绍Spring Boot框架的实用图书,全面介绍了最新的Spring Boot和常用第三方框架整合等各方面的知识。

本书针对每一个知识点都通过相应的程序给出了示范,第7章的实战项目“信息管理系统”采用目前非常流行、规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。

笔者既担任过软件开发的技术经理,也担任过软件公司的培训导师,如今从事专业、高端的职业技术培训,所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发中的实际功能,同时采用了目前企业最流行、最规范的开发架构,严格遵守Java EE开发规范。读者参考本书的架构,完全可以身临其境地感受企业实际项目开发。

本书并不是一本关于所谓“思想”的书,也没有一堆“深奥”的新名词和“高深”的理念,只会让读者学会实际的Spring和Spring Boot技术。本书的特点是操作步骤详细,编程思路清晰,语言平实易懂。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中的Spring Boot项目开发。

阅读本书需要具备一定的计算机知识以及编程功底。熟练掌握Java语言和Spring框架的IoC、AOP和持久层的ORM设计模式等知识对于学习本书是很有必要的。

可访问www.crazyit.org或www.broadview.com.cn/34116下载本书配套资源。

本书写给谁看

如果你已经掌握Java SE的内容,或已经学完疯狂软件教育的《疯狂Java讲义》一书,那么非常适合阅读此书。除此之外,如果你已有初步的JSP、Servlet、JDBC基础,甚至对Spring、Spring Boot等框架有所了解,但希望掌握它们在实际开发中的应用,本书也将非常适合你。如果你对Java的掌握还不熟练,则建议遵从学习规律,循序渐进,暂时不要购买、阅读此书,而是按照“疯狂Java学习路线图”中的建议顺序学习。

衷心感谢

衷心感谢李刚老师,他是一位非常好的朋友,在本书的创作过程中,他提供了大量切实、有用的帮助。同时衷心感谢疯狂软件教育中心所有同事提供的帮助。

感谢所有参加疯狂软件实训的学生,他们在实际工作场景的应用证明了本书的价值,他们的反馈让本书更加实用。

肖文吉 徐磊

2018年初夏

目录

第1章 Spring Boot入门 1
1.1 Spring简介 2
1.1.1 Spring概述 2
1.1.2 Spring的生态圈 3
1.1.3 Spring 5的变化 4
1.1.4 Spring的配置简化 4
1.2 Spring Boot简介 4
1.2.1 Spring Boot概述 4
1.2.2 Spring Boot解决的问题 5
1.2.3 Spring Boot的主要特性 5
1.2.4 Spring Boot 2.0的重要改变 5
1.3 “开箱即用”的依赖模块 5
1.3.1 日志依赖模块spring-boot-starter-logging 6
1.3.2 Web开发依赖模块spring-boot-starter-web 7
1.4 开发第一个Spring Boot应用 8
1.4.1 下载和安装Maven 8
1.4.2 Eclipse集成Maven 9
1.4.3 示例:第一个Spring Boot应用 10
1.5 本章小结 18

第2章 Spring Boot核心 19
2.1 Spring Boot的启动类与核心注解@SpringBootApplication 20
2.2 Spring Boot基本配置介绍 21
2.2.1 关闭某个自动配置 21
2.2.2 定制启动banner 22
2.2.3 应用的全局配置文件 23
2.2.4 Spring Boot的依赖模块 24
2.3 Spring Boot自动配置原理 25
2.3.1 源码分析 25
2.3.2 spring.factories分析 27
2.3.3 Spring Boot Web开发的自动配置 29
2.4 本章小结 30

第3章 Spring Boot的Web开发 31
3.1 Spring Boot的Web开发支持 32
3.2 Thymeleaf模板引擎 32
3.2.1 Thymeleaf概述 33
3.2.2 Thymeleaf基础语法 33
3.3 Spring和Thymeleaf的整合 36
3.4 Spring Boot的Thymeleaf支持 37
3.5 Spring Boot的Web开发实例 38
示例:第一个Spring Boot的Web应用 38
示例:Thymeleaf常用功能 45
3.6 Spring Boot对JSP的支持 52
示例:Spring Boot添加JSP支持 53
3.7 Spring Boot处理JSON数据 57
示例:Spring Boot处理JSON 57
3.8 Spring Boot文件上传下载 63
示例:Spring Boot文件上传 63
示例:使用对象方式接收上传文件 66
示例:文件下载 69
3.9 Spring Boot的异常处理 71
示例:ExceptionHandler处理异常 71
示例:父类Controller处理异常 73
示例:Advice处理异常返回JSON 76
3.10 本章小结 78

第4章 Spring Boot的数据访问 79
4.1 Hibernate/JPA/Spring Data JPA的概念 80
4.1.1 对象/关系数据库映射(ORM) 80
4.1.2 基本映射方式 81
4.1.3 流行的ORM框架简介 82
4.2 Spring Data JPA 83
4.2.1 Spring Data核心数据访问接口 83
示例:CrudRepository接口访问数据 84
示例:PagingAndSortingRepository接口访问数据 91
4.2.2 Spring Data JPA开发 99
示例:简单条件查询 100
示例:关联查询和@Query查询 105
示例:@NamedQuery查询 114
示例:Specification查询 118
4.3 Spring Boot使用JdbcTemplate 128
示例:JdbcTemplate访问数据 128
4.4 Spring Boot整合MyBatis 135
示例:Spring Boot整合MyBatis开发 135
4.5 本章小结 141

第5章 Spring Boot的热部署与单元测试 142
5.1 使用spring-boot-devtools进行热部署 143
示例:使用spring-boot-devtools实现热部署 143
5.2 Spring Boot的单元测试 147
示例:使用Spring Boot的单元测试 147
5.3 本章小结 155

第6章 Spring Boot的Security安全控制 156
6.1 Spring Security是什么 157
6.2 Spring Security入门 157
6.2.1 Security适配器 157
6.2.2 用户认证 158
6.2.3 用户授权 158
6.2.4 Spring Security核心类 160
6.2.5 Spring Security的验证机制 161
6.2.6 Spring Boot的支持 161
示例:简单Spring Boot Security应用 162
6.3 企业项目中的Spring Security操作 173
示例:基于JPA的Spring Boot Security操作 173
示例:基于MyBatis的Spring Boot Security操作 180
示例:基于JDBC的Spring Boot Security操作 183
6.4 本章小结 185

第7章 实战项目:信息管理系统 186
7.1 项目简介及系统架构 187
7.1.1 系统功能介绍 187
7.1.2 相关技术介绍 187
7.1.3 系统结构 188
7.1.4 系统的功能模块 188
7.2 配置文件 189
7.3 持久化类 191
7.3.1 设计持久化实体 191
7.3.2 创建持久化实体类 192
7.3.3 导入初始数据 197
7.4 定义Repository接口实现Repository持久层 198
7.5 实现Service持久层 200
7.5.1 业务逻辑组件的设计 201
7.5.2 实现业务逻辑组件 201
7.5.3 事务管理 224
7.6 实现Web层 224
7.6.1 控制器 224
7.6.2 系统登录 225
7.6.3 菜单管理 233
7.6.4 角色管理 235
7.6.5 用户管理 240
7.6.6 功能扩展 245
7.7 本章小结 249

产品特色