图书目录

目录..

V

扫一扫

目录

源码下载

1.1.Spring简介...............................................................................................................................................1

1.1.1.Spring的由来.............................................................................................................................1

1.1.2.Spring的体系结构.....................................................................................................................1

1.2.Spring开发环境的构建 

 ...................................................................................................................4

1.2.1.配置IntelliJ IDEA的Web服务器..........................................................................................4

1.2.2.Spring的下载.............................................................................................................................6

1.3.使用IntelliJ IDEA开发Spring入门程序 

 ....................................................................................6

本章小结...............................................................................................................................................................9

习题1....................................................................................................................................................................9

2.1.Spring IoC的基本概念........................................................................................................................10

2.2.Spring IoC容器 

 .............................................................................................................................11

2.2.1.BeanFactory............................................................................................................................11

2.2.2.ApplicationContext...............................................................................................................11

2.2.3.GenericApplicationContext...............................................................................................13

2.3.依赖注入的类型 

 ..............................................................................................................................14

2.3.1.使用构造方法注入....................................................................................................................14

2.3.2.使用属性的Setter方法注入..................................................................................................16

本章小结............................................................................................................................................................17

习题2.................................................................................................................................................................17

3.1.Bean的配置...........................................................................................................................................18

3.2.Bean的实例化 

 ................................................................................................................................19

3.2.1.构造方法实例化........................................................................................................................19

3.2.2.静态工厂方法实例化...............................................................................................................20

3.2.3.实例工厂方法实例化...............................................................................................................21

3.3.Bean的作用域 

 ................................................................................................................................22

3.3.1.singleton作用域.....................................................................................................................23

3.3.2.prototype作用域....................................................................................................................24

3.4.Bean的生命周期 

 ............................................................................................................................24

3.5.Bean的装配方式 

 ............................................................................................................................27

3.5.1.基于XML配置的装配.............................................................................................................27

3.5.2.基于注解的装配........................................................................................................................30

本章小结............................................................................................................................................................34

习题3.................................................................................................................................................................34

4.1.Spring AOP的基本概念......................................................................................................................36

4.1.1.AOP的概念...............................................................................................................................36

4.1.2.AOP的术语...............................................................................................................................37

4.2.动态代理 

 ...........................................................................................................................................38

4.2.1.JDK动态代理............................................................................................................................38

4.2.2.CGLIB动态代理.......................................................................................................................41

4.3.基于代理类的AOP实现 

 ...............................................................................................................43

4.4.基于XML配置开发AspectJ 

 .......................................................................................................46

4.5.基于注解开发AspectJ 

 ..................................................................................................................51

本章小结............................................................................................................................................................53

习题4 ................................................................................................................................................................53

5.1.Spring的数据库编程 

 ....................................................................................................................55

5.1.1.Spring JDBC的配置...............................................................................................................55

5.1.2.Spring jdbcTemplate的使用方法......................................................................................56

5.2.编程式事务管理 

 ..............................................................................................................................60

5.2.1.基于底层API的编程式事务管理..........................................................................................60

5.2.2.基于TransactionTemplate的编程式事务管理................................................................62

5.3.声明式事务管理 

 ..............................................................................................................................65

5.3.1.基于XML方式的声明式事务管理........................................................................................65

5.3.2.基于@Transactional注解的声明式事务管理...................................................................69

5.3.3.如何在声明式事务管理中捕获异常......................................................................................72

本章小结............................................................................................................................................................73

习题5.................................................................................................................................................................74

6.1.MVC模式与Spring MVC的工作原理.............................................................................................75

6.1.1.MVC模式..................................................................................................................................75

6.1.2.Spring MVC的工作原理.......................................................................................................76

6.1.3.Spring MVC接口....................................................................................................................77

6.2.第一个Spring MVC应用 

 .............................................................................................................77

6.2.1.使用IDEA创建Web应用并添加相关依赖........................................................................77

6.2.2.在web.xml文件中部署DispatcherServlet......................................................................79

6.2.3.创建Web应用首页.................................................................................................................80

6.2.4.创建Controller类..................................................................................................................80

6.2.5.创建Spring MVC配置文件并配置Controller映射信息...............................................81

6.2.6.应用的其他页面........................................................................................................................81

6.2.7.在IDEA中发布并运行Spring MVC应用..........................................................................82

6.3.视图解析器..............................................................................................................................................83

本章小结............................................................................................................................................................84

习题6.................................................................................................................................................................84

7.1.基于注解的控制器.................................................................................................................................86

7.1.1.Controller注解类型...............................................................................................................86

7.1.2.RequestMapping注解类型.................................................................................................87

7.1.3.编写请求处理方法....................................................................................................................88

7.2.Controller接收请求参数的常见方式 

 .........................................................................................89

7.2.1.通过实体Bean接收请求参数...............................................................................................90

7.2.2.通过处理方法的形参接收请求参数......................................................................................95

7.2.3.通过HttpServletRequest接收请求参数...........................................................................96

7.2.4.通过@PathVariable接收URL中的请求参数..................................................................96

7.2.5.通过@RequestParam接收请求参数.................................................................................97

7.2.6.通过@ModelAttribute接收请求参数...............................................................................97

7.3.重定向与转发 

 ..................................................................................................................................98

7.4.应用@Autowired进行依赖注入.......................................................................................................99

7.5.@ModelAttribute注解.....................................................................................................................101

本章小结..........................................................................................................................................................102

习题7...............................................................................................................................................................102

8.1.数据绑定................................................................................................................................................104

8.2.表单标签库............................................................................................................................................104

8.3.数据绑定的应用 

 ............................................................................................................................108

8.4.JSON数据交互 

 .............................................................................................................................114

8.4.1.JSON概述...............................................................................................................................114

8.4.2.JSON数据转换......................................................................................................................115

本章小结..........................................................................................................................................................118

习题8...............................................................................................................................................................118

9.1.拦截器概述............................................................................................................................................119

9.1.1.拦截器的定义..........................................................................................................................119

9.1.2.拦截器的配置..........................................................................................................................120

9.2.拦截器的执行流程 

 ........................................................................................................................121

9.2.1.单个拦截器的执行流程.........................................................................................................121

9.2.2.多个拦截器的执行流程.........................................................................................................123

9.3.应用案例——用户登录权限验证 

 ..............................................................................................125

本章小结..........................................................................................................................................................129

习题9...............................................................................................................................................................129

10.1.数据验证概述.....................................................................................................................................130

10.1.1.客户端验证..........................................................................................................................130

10.1.2.服务器端验证.....................................................................................................................130

10.2.Spring验证器 

 ............................................................................................................................131

10.2.1.Validator接口...................................................................................................................131

10.2.2.ValidationUtils类.............................................................................................................131

10.2.3.Validator验证示例...........................................................................................................132

10.3.Jakarta Bean Validation(JSR 380) 

 .................................................................................137

10.3.1.Jakarta Bean Validation验证配置...............................................................................137

10.3.2.标注类型..............................................................................................................................138

10.3.3.Jakarta Bean Validation验证示例...............................................................................140

本章小结..........................................................................................................................................................142

习题10.............................................................................................................................................................142

11.1.程序国际化概述.................................................................................................................................143

11.1.1.Java国际化的思想............................................................................................................143

11.1.2.Java支持的语言和国家....................................................................................................144

11.1.3.Java程序国际化................................................................................................................144

11.1.4.带占位符的国际化信息.....................................................................................................145

11.2.Spring MVC的国际化.....................................................................................................................146

11.2.1.Spring MVC加载资源属性文件....................................................................................146

11.2.2.语言区域的选择.................................................................................................................147

11.2.3.使用message标签显示国际化信息.............................................................................147

11.3.用户自定义切换语言示例 

 .........................................................................................................148

本章小结..........................................................................................................................................................153

习题11.............................................................................................................................................................153

12.1.示例介绍..............................................................................................................................................154

12.2.SimpleMappingExceptionResolver类......................................................................................159

12.3.HandlerExceptionResolver接口.................................................................................................160

12.4.@ExceptionHandler注解..............................................................................................................162

12.5.@ControllerAdvice注解...............................................................................................................162

本章小结..........................................................................................................................................................163

习题12.............................................................................................................................................................163

13.1.文件的上传 

 ..................................................................................................................................164

13.2.文件的下载 

 ..................................................................................................................................169

本章小结..........................................................................................................................................................172

习题13.............................................................................................................................................................172

14.1.MyBatis简介.....................................................................................................................................173

14.2.MyBatis的环境构建.........................................................................................................................174

14.3.MyBatis的工作原理.........................................................................................................................174

14.4.MyBatis的核心配置.........................................................................................................................175

14.5.使用IntelliJ IDEA开发MyBatis入门程序 

 ..........................................................................176

14.6.SSM框架的整合开发.......................................................................................................................180

14.6.1.相关JAR包.........................................................................................................................180

14.6.2.MapperScannerConfigurer方式................................................................................181

14.6.3.整合示例 

 ......................................................................................................................182

14.6.4.SqlSessionDaoSupport方式 

 ................................................................................187

14.7.使用MyBatis Generator插件自动生成映射文件...............................................................................191

14.8.映射器概述.........................................................................................................................................193

14.9.<select>元素 

 ............................................................................................................................194

14.9.1.使用Map接口传递参数..................................................................................................194

14.9.2.使用Java Bean传递参数................................................................................................197

14.9.3.使用@Param注解传递参数..........................................................................................197

14.9.4.<resultMap>元素...........................................................................................................198

14.9.5.使用POJO存储结果集....................................................................................................199

14.9.6.使用Map存储结果集......................................................................................................200

14.10.<insert>、<update>、<delete>和<sql>元素 

 .........................................................201

14.10.1.<insert>元素...............................................................................................................201

14.10.2.<update>与<delete>元素....................................................................................203

14.10.3.<sql>元素.....................................................................................................................204

14.11.级联查询...........................................................................................................................................204

14.11.1.一对一级联查询 

 .....................................................................................................204

14.11.2.一对多级联查询 

 .....................................................................................................208

14.11.3.多对多级联查询 

 .....................................................................................................211

14.12.动态SQL 

 ...................................................................................................................................214

14.12.1.<if>元素........................................................................................................................214

14.12.2.<choose>、<when>和<otherwise>元素.......................................................215

14.12.3.<trim>元素..................................................................................................................216

14.12.4.<where>元素..............................................................................................................217

14.12.5.<set>元素.....................................................................................................................218

14.12.6.<foreach>元素............................................................................................................218

14.12.7.<bind>元素..................................................................................................................219

14.13.MyBatis的缓存机制 

 ...............................................................................................................220

14.13.1.一级缓存(SqlSession级别的缓存)......................................................................221

14.13.2.二级缓存(Mapper级别的缓存)............................................................................222

本章小结..........................................................................................................................................................224

习题14.............................................................................................................................................................225

15.1.系统设计..............................................................................................................................................226

15.1.1.系统的功能需求.................................................................................................................226

15.1.2.系统的模块划分.................................................................................................................227

15.2.数据库设计.........................................................................................................................................227

15.2.1.数据库的概念结构设计.....................................................................................................228

15.2.2.数据库的逻辑结构设计.....................................................................................................229

15.2.3.创建数据表..........................................................................................................................230

15.3.系统管理..............................................................................................................................................231

15.3.1.添加相关依赖.....................................................................................................................231

15.3.2.视图页面及静态资源管理.................................................................................................231

15.3.3.应用的包结构.....................................................................................................................232

15.3.4.配置文件..............................................................................................................................232

15.4.组件设计..............................................................................................................................................236

15.4.1.管理员登录权限验证拦截器.............................................................................................236

15.4.2.前台用户登录权限验证拦截器........................................................................................236

15.4.3.验证码..................................................................................................................................237

15.4.4.工具类..................................................................................................................................237

15.5.后台管理子系统的实现 

 .............................................................................................................237

15.5.1.管理员登录..........................................................................................................................237

15.5.2.类型管理..............................................................................................................................238

15.5.3.新增商品..............................................................................................................................241

15.5.4.查询商品..............................................................................................................................243

15.5.5.修改商品..............................................................................................................................246

15.5.6.删除商品..............................................................................................................................248

15.5.7.查询订单..............................................................................................................................249

15.5.8.按月统计..............................................................................................................................250

15.5.9.按类型统计..........................................................................................................................253

15.5.10.安全退出...........................................................................................................................255

15.6.前台电子商务子系统的实现 

 .....................................................................................................256

15.6.1.导航栏及首页搜索.............................................................................................................256

15.6.2.最新商品..............................................................................................................................257

15.6.3.用户注册..............................................................................................................................258

15.6.4.用户登录..............................................................................................................................259

15.6.5.商品详情..............................................................................................................................260

15.6.6.收藏商品..............................................................................................................................261

15.6.7.购物车..................................................................................................................................262

15.6.8.下单......................................................................................................................................264

15.6.9.个人信息..............................................................................................................................266

15.6.10.我的收藏...........................................................................................................................267

15.6.11.我的订单...........................................................................................................................268

本章小结..........................................................................................................................................................269

习题15.............................................................................................................................................................269

16.1.Spring Boot概述.............................................................................................................................270

16.1.1.Spring Boot简介.............................................................................................................270

16.1.2.Spring Boot的优点.........................................................................................................271

16.1.3.Spring Boot的主要特性.................................................................................................271

16.2.第一个Spring Boot应用 

 ........................................................................................................271

16.2.1.Maven简介........................................................................................................................271

16.2.2.Maven的pom.xml.........................................................................................................272

16.2.3.使用IntelliJ IDEA快速构建Spring Boot应用..........................................................273

16.3.Spring Boot的基本配置 

 .........................................................................................................275

16.3.1.启动类和核心注解@SpringBootApplication...........................................................275

16.3.2.Spring Boot的全局配置文件.........................................................................................276

16.3.3.Spring Boot的Starters.................................................................................................277

16.4.读取应用配置 

 ..............................................................................................................................277

16.4.1.Environment.....................................................................................................................277

16.4.2.@Value...............................................................................................................................278

16.4.3.@ConfigurationProperties..........................................................................................279

16.4.4.@PropertySource...........................................................................................................280

16.5.日志配置..............................................................................................................................................281

16.6.Spring Boot的自动配置原理.........................................................................................................282

本章小结..........................................................................................................................................................284

习题16.............................................................................................................................................................284

17.1.Thymeleaf模板引擎........................................................................................................................285

17.1.1.Spring Boot的Thymeleaf支持...................................................................................285

17.1.2.Thymeleaf的基础语法....................................................................................................286

17.1.3.Thymeleaf的常用属性....................................................................................................290

17.2.使用Spring Boot和Thymeleaf实现页面信息的国际化 

 ................................................294

17.3.Spring Boot和Thymeleaf的表单验证 

 ...............................................................................297

17.4.基于Thymeleaf和BootStrap的Web开发实例 

 ..............................................................299

本章小结..........................................................................................................................................................302

习题17.............................................................................................................................................................302

18.1.Spring Boot整合MyBatis 

 .....................................................................................................303

18.2.MyBatis-Plus快速入门 

 ............................................................................................................306

18.2.1.MyBatis-Plus简介...........................................................................................................306

18.2.2.Spring Boot整合MyBatis-Plus...................................................................................306

18.3.MyBatis-Plus注解............................................................................................................................309

18.4.MyBatis-Plus代码生成器...............................................................................................................312

18.4.1.安装MyBatis-Plus代码生成器......................................................................................312

18.4.2.配置MyBatis-Plus代码生成器......................................................................................312

18.5.CRUD接口 

 ..................................................................................................................................320

18.5.1.Mapper CRUD接口........................................................................................................320

18.5.2.Service CRUD接口..........................................................................................................322

18.6.条件构造器.........................................................................................................................................328

本章小结..........................................................................................................................................................332

习题18.............................................................................................................................................................332

19.1.JUnit 5注解.......................................................................................................................................333

19.1.1.JUnit 5简介.......................................................................................................................333

19.1.2.JUnit 5注解.......................................................................................................................334

19.1.3.JUnit 5断言.......................................................................................................................335

19.2.单元测试用例 

 ..............................................................................................................................336

19.2.1.测试环境的构建.................................................................................................................337

19.2.2.测试Mapper接口............................................................................................................338

19.2.3.测试Service层..................................................................................................................340

19.3.使用Postman测试Controller层 

 .........................................................................................341

本章小结..........................................................................................................................................................343

习题19.............................................................................................................................................................343

20.1.系统设计..............................................................................................................................................344

20.1.1.系统的功能需求.................................................................................................................344

20.1.2.系统的模块划分.................................................................................................................344

20.2.数据库设计.........................................................................................................................................345

20.2.1.数据库的概念结构设计.....................................................................................................345

20.2.2.数据库的逻辑结构设计.....................................................................................................345

20.3.系统管理..............................................................................................................................................346

20.3.1.项目依赖管理.....................................................................................................................346

20.3.2.页面管理..............................................................................................................................346

20.3.3.包管理..................................................................................................................................347

20.3.4.分页插件配置类.................................................................................................................347

20.3.5.全局配置文件.....................................................................................................................348

20.4.组件设计..............................................................................................................................................348

20.4.1.工具类..................................................................................................................................348

20.4.2.异常统一处理.....................................................................................................................349

20.4.3.验证码..................................................................................................................................350

20.5.名片管理..............................................................................................................................................350

20.5.1.领域模型与持久化实体类.................................................................................................350

20.5.2.Controller层的实现.........................................................................................................351

20.5.3.Service层的实现..............................................................................................................352

20.5.4.Dao层的实现.....................................................................................................................354

20.5.5.添加名片..............................................................................................................................355

20.5.6.管理名片..............................................................................................................................357

20.6.用户相关..............................................................................................................................................360

20.6.1.领域模型与持久化实体类.................................................................................................360

20.6.2.Controller层的实现.........................................................................................................360

20.6.3.Service层的实现..............................................................................................................361

20.6.4.Dao层的实现.....................................................................................................................362

20.6.5.注册......................................................................................................................................363

20.6.6.登录......................................................................................................................................365

20.6.7.修改密码..............................................................................................................................366

20.6.8.安全退出..............................................................................................................................367

本章小结..........................................................................................................................................................367

习题20.............................................................................................................................................................367