万本电子书0元读

万本电子书0元读

顶部广告

Spring Boot+MVC实战指南电子书

为了提高读者学习JavaEE的效率,增强其项目实战能力,以便在新的软件发岗位后能立即投身到发工作中,本书从实战出发,为读者讲解发企业级应用软件的常备知识,以帮助读者行“精要”式的学习,汲取Java EE的思想,正确地行项目实战。 本书内容涉及Spring的内部原理和实战应用、Spring MVC常用技巧和高频使用案例、MyBatis的海量数据和高性能数据库处理,以及标签库引擎FreeMarker和Thymeleaf的使用。

售       价:¥

纸质售价:¥74.30购买纸书

41人正在读 | 0人评论 6.2

作       者:高洪岩

出  版  社:人民邮电出版社有限公司

出版时间:2022-01-01

字       数:47.1万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
《Spring Boot MVC实战指南》主要讲解如何在Spring Boot框架中发MVC应用,包括主流的JavaEE框架,如MyBatis、Spring、SpringMVC、FreeMarker和Thymeleaf等。读者可以行“精要”式学习,正确地行项目实战,同时汲取JavaEE的思想,并终将这种思想灵活运用到实际工作中。 《Spring Boot MVC实战指南》主要涉及MVC框架的原理实现、上传、下载、数据验证、国际化、多模块分组发、转发/重定向、JSON的解析、将Ajax及JSON和MVC框架行整合发,以及MyBatis中映射文件的使用。本书还介绍了Spring中的核心技术(依赖注与AOP),掌握这两项技术是学习Spring的重中之重。 《Spring Boot MVC实战指南》语言简洁,示例丰富,以掌握实用技术为目的,帮助读者迅速掌握使用主流源JavaEE框架行发所需的各种技能。本书适合已具有一定Java编程基础(具有Servlet编程经验)的读者阅读,也可供Java平台下行各类软件发的发人员、测试人员参考。<br/>【推荐语】<br/>为了提高读者学习JavaEE的效率,增强其项目实战能力,以便在新的软件发岗位后能立即投身到发工作中,本书从实战出发,为读者讲解发企业级应用软件的常备知识,以帮助读者行“精要”式的学习,汲取Java EE的思想,正确地行项目实战。 本书内容涉及Spring的内部原理和实战应用、Spring MVC常用技巧和高频使用案例、MyBatis的海量数据和高性能数据库处理,以及标签库引擎FreeMarker和Thymeleaf的使用。 本书适合具有一定Java编程基础的软件发人员、测试人员阅读。 本书主要内容: Spring核心技术之IoC; Spring核心技术之AOP; Spring 5 MVC实战技术; MyBatis 3核心技术之技能; MyBatis 3核心技术之实战技能; 模板引擎FeeMaker和Thymeleaf的使用。<br/>【作者】<br/>高洪岩,世界500强企业高级项目经理,具有10余年项目管理与发经验,在多线程和并发、Android移动发、智能报表和分布式处理等企业级架构技术领域深耕多年,深谙Java技术发要与难,拥有良好的技术素养和丰富的实践经验,一直在持续关注架构的优化和重构领域,喜欢用技术与理论相结合的方式分享知识,以共同提高。著有《Java多线程编程核心技术》《Java并发编程:核心方法与框架》《Java EE核心框架实战》《NIO与Socket编程技术指南》《虚拟化高性能NoSQL存储案例精粹:Redis Docker》《Java Web实操》等书籍。<br/>
目录展开

内容提要

作者简介

致 谢

前 言

关于本书

本书面向的读者

本书的结构

如何使用本书

如何与作者联系

资源与支持

配套资源

提交勘误

与我们联系

关于异步社区和异步图书

第1章 Spring 5核心技术之IoC

1.1 什么是框架

1.2 反射与XML操作

1.2.1 基础知识准备——反射

1.正常创建对象并调用方法

2.获得Class类的对象的方式

3.通过Class对象获得Field、Constructor和Method对象

4.使用Class.newInstance()方法创建对象

5.对Field进行赋值和取值

6.获得构造方法对应的Constructor对象及调用无参构造方法

7.通过Constructor对象调用有参构造方法

8.使用反射动态调用无参无返回值方法

9.使用反射动态调用有参无返回值方法

10.使用反射动态调用有参有返回值方法

11.反射破坏了OOP

12.方法重载

1.2.2 基础知识准备——操作XML文件

1.解析XML文件

2.创建XML文件

3.修改XML文件

4.删除节点

5.删除属性

1.3 Spring框架介绍

1.4 Spring框架的模块组成

1.5 控制反转和依赖注入介绍

1.6 IoC容器介绍

1.7 AOP介绍

1.8 初步体会IoC的优势

1.8.1 传统方式

1.8.2 Spring方式

1.8.3 依赖注入的原理是反射

1.9 在Spring中创建JavaBean

1.9.1 使用<context:component-scan base-package="">创建对象

1.9.2 使用<context:component-scan base-package="">创建并获取对象

1.9.3 使用“全注解”法创建对象

1.9.4 使用“全注解”法获取对象时出现NoUniqueBeanDefinitionException异常的解决办法

1.9.5 使用@ComponentScan(basePackages = "")创建并获取对象

1.9.6 使用@ComponentScan(basePackages = "")扫描多个包

1.9.7 使用@ComponentScan的basePackageClasses属性进行扫描

1.9.8 使用@ComponentScan而不使用basePackages属性时的效果

1.9.9 解决不同包中有相同类名时出现异常的问题

1.9.10 推荐使用的代码结构

1.9.11 使用@Lazy注解实现延迟加载

1.9.12 出现Overriding bean definition情况时的解决方法

1.9.13 在IoC容器中创建单例对象和多例对象

1.10 装配Spring Bean

1.10.1 使用注解法注入对象

1.10.2 多实现类的歧义性

1.使用@Primary注解

2.使用@Autowired注解结合@Qualifier注解

3.使用@Resource注解

1.10.3 使用@Autowired注解向构造方法的参数进行注入

1.10.4 使用@Autowired注解向方法的参数进行注入

1.10.5 使用@Autowired注解向字段进行注入

1.10.6 使用@Inject注解向字段、方法和构造方法进行注入

1.10.7 使用@Bean注解向工厂方法的参数进行注入

1.10.8 使用@Autowired(required = false)的写法

1.10.9 使用@Bean对JavaBean的id重命名

1.10.10 Spring上下文的相关知识

1.创建多个Spring上下文

2.不同Spring上下文中的JavaBean对象是不共享的

3.让多个配置类互相通信

4.JavaBean的id值相同时出现ConflictingBeanDefinitionException异常

5.不同上下文中的工厂方法的名称不可以相同

6.创建AllConfig全局配置类

1.10.11 BeanFactory与ApplicationContext

1.10.12 使用注解@Value进行注入

1.10.13 解决BeanCurrentlyInCreationException异常问题

第2章 Spring 5核心技术之AOP

2.1 AOP

2.2 AOP原理之代理设计模式

2.2.1 静态代理的实现

2.2.2 使用JDK实现动态代理

2.2.3 使用Spring实现动态代理

2.2.4 使用cglib实现动态代理

2.2.5 使用javassist实现动态代理

2.3 AOP相关的概念

2.3.1 横切关注点

2.3.2 切面

2.3.3 连接点

2.3.4 切点

2.3.5 通知

2.3.6 织入

2.4 AOP核心案例

2.4.1 实现前置通知、后置通知、返回通知和异常通知

2.4.2 向前置通知、后置通知、返回通知和异常通知传入JoinPoint参数

2.4.3 实现环绕通知

2.4.4 使用bean表达式

2.4.5 使用@Pointcut定义全局切点

2.4.6 向切面传入参数

2.4.7 使用@AfterReturning和@AfterThrowing向切面传入参数

2.4.8 向环绕通知传入参数

2.4.9 实现多切面的应用

2.4.10 使用@Order注解制定切面的运行顺序

第3章 Spring 5 MVC实战技术

3.1 简介

3.2 在Spring Boot框架中搭建Spring MVC开发环境

3.2.1 搭建Spring MVC开发环境

1.创建Maven Web Project

2.在pom.xml文件中添加Spring Boot相关配置

3.Spring Boot中常用的Starter

4.官方推荐的项目结构

5.创建Spring MVC控制层

6.创建运行类

7.运行项目

8.在CMD中启动项目

9.创建可执行WAR/JAR文件

3.2.2 搭建CSS+JavaScript+HTML+JSP开发环境

1.初步配置pom.xml文件

2.创建控制层

3.创建CSS文件、JavaScript文件、HTML文件和JSP文件

4.创建运行类

5.运行项目

6.实现项目首页

3.3 核心技术

3.3.1 执行控制层——无传递参数

3.3.2 执行控制层——有传递参数

3.3.3 执行控制层——有传递参数简化版

3.3.4 实现登录功能

3.3.5 将URL参数封装到实体类

3.3.6 限制提交方式

3.3.7 控制层方法的参数类型

3.3.8 控制层方法的返回值类型

3.3.9 取得request-response-session对象

3.3.10 实现登录失败后的提示信息

3.3.11 向Controller控制层注入Service业务逻辑层

3.3.12 重定向——无传递参数

3.3.13 重定向——有传递参数

3.3.14 重定向传递参数——RedirectAttributes.addAttribute()方法

3.3.15 重定向传递参数——RedirectAttributes.addFlashAttribute()方法

3.3.16 使用jackson库在服务端将JSON字符串转换成各种Java数据类型

3.3.17 在控制层返回JSON对象

3.3.18 在控制层返回JSON字符串

3.3.19 使用HttpServletResponse对象输出响应字符

3.3.20 解决日期问题

3.3.21 单文件上传1——使用MultipartHttpServletRequest

3.3.22 单文件上传2——使用MultipartFile

3.3.23 单文件上传3——使用MultipartFile并结合实体类

3.3.24 多文件上传1——使用MultipartHttpServletRequest

3.3.25 多文件上传2——使用MultipartFile[]

3.3.26 多文件上传3——使用MultipartFile[]并结合实体类

3.3.27 使用AJAX实现文件上传

3.3.28 支持中文文件名的文件下载

3.3.29 使用@RestController注解

3.4 扩展技术

3.4.1 使用prefix和suffix简化返回的视图名称

3.4.2 控制层返回List对象及实体

3.4.3 实现国际化

1.在JSP文件中向国际化文本传入参数

2.服务端识别客户端使用不同语言的原理

3.使用超链接实现语言的切换——使用HttpSession

4.使用超链接实现语言的切换——使用Cookie

5.在控制层中处理国际化消息

3.4.4 处理异常

1.使用@ControllerAdvice注解实现全局异常处理器

2.使用@RestControllerAdvice注解实现全局异常处理器

3.4.5 方法的参数是Model数据类型

3.4.6 方法的参数是ModelMap数据类型

3.4.7 方法的返回值是ModelMap数据类型

3.4.8 方法的返回值是ModelAndView数据类型

3.4.9 方法的返回值是ModelAndView数据类型(实现重定向)

3.4.10 使用@RequestAttribute和@SessionAttribute注解

3.4.11 使用@CookieValue和@RequestHeader注解

3.4.12 使用@SessionAttributes注解

3.4.13 使用@ModelAttribute注解实现作用域别名

3.4.14 在路径中添加通配符的功能

3.4.15 控制层返回void数据的情况

3.4.16 解决多人开发路径可能重复的问题

3.4.17 使用@PathVariable注解

3.4.18 通过URL参数访问指定的业务方法

3.4.19 使用@GetMapping、@PostMapping、@PutMapping和@Delete Mapping注解

1.使用<form>

2.使用AJAX

3.4.20 使用拦截器

3.4.21 Spring 5 MVC应用AOP切面

第4章 MyBatis 3核心技术之必备技能

4.1 ORM简介

4.2 MyBatis的优势

4.3 使用JDBC+反射技术实现泛型DAO

4.4 三大核心对象的介绍

4.5 三大核心对象的生命周期

4.6 使用MyBatis Generator插件:单模块

4.6.1 操作Oracle数据库

1.编辑pom.xml配置文件

2.创建generatorConfig.xml配置文件

3.执行逆向操作

4.添加@Mapper注解

5.创建application.yml配置文件

6.创建业务类

7.创建控制层

8.创建运行类

9.运行项目时出现异常

10.处理异常

11.执行成功

4.6.2 操作MySQL数据库

1.编辑pom.xml配置文件

2.创建generatorConfig.xml配置文件

3.执行逆向操作

4.添加@Mapper注解

5.创建application.yml配置文件

6.创建业务类

7.创建控制层

8.创建运行类

4.7 使用MyBatis Generator插件:多模块

4.7.1 操作Oracle数据库

1.搭建MyBatisGenerator模块环境

2.搭建DAO模块环境

3.搭建Service模块环境

4.搭建Web模块环境

5.在Web模块创建启动类

6.执行两个URL

4.7.2 操作MySQL数据库

1.搭建MyBatisGenerator模块环境

2.搭建DAO模块环境

3.搭建Service模块环境

4.搭建Web模块环境

5.在Web模块创建启动类

6.执行两个URL

4.8 自建环境使用Mapper接口操作Oracle-MySQL数据库

4.8.1 接口-SQL映射的对应关系

4.8.2 针对Oracle的CURD

1.准备开发环境

2.搭建MyBatisGenerator模块环境

3.搭建DAO模块环境

4.搭建Service模块环境

5.搭建Web模块环境

6.核心代码解释

4.8.3 针对MySQL的CURD

1.准备开发环境

2.搭建MyBatisGenerator模块环境

3.搭建DAO模块环境

4.搭建Service模块环境

5.搭建Web模块环境

4.9 向Mapper接口传入参数类型

4.10 从SQL映射取得返回值类型

第5章 MyBatis 3核心技术之实战技能

5.1 实现输出日志

5.2 SQL语句中特殊符号的处理

5.3 使用别名

5.3.1 系统预定义别名

5.3.2 使用type-aliases-package配置设置别名

5.3.3 别名重复的解决办法

5.4 对yml文件中的数据库密码进行加密

5.5 不同数据库对执行不同SQL语句的支持

5.5.1 使用<databaseIdProvider type="DB_VENDOR">实现执行不同的SQL语句

5.5.2 如果SQL映射的id值相同,有无databaseId的优先级

5.6 动态SQL

5.6.1 使用<resultMap>标签实现映射

5.6.2 <resultMap>标签与实体类有参构造方法

5.6.3 使用${}拼接SQL语句

{}表示向SQL语句传入参数值,而${}表示拼接SQL语句。

5.6.4 <sql>标签的使用

1.静态传值

2.向<sql>标签动态传值

5.6.5 <if>标签的使用

5.6.6 <where>标签的使用

5.6.7 针对Oracle/MySQL实现like模糊查询

5.6.8 <choose>标签的使用

5.6.9 <set>标签的使用

5.6.10 <foreach>标签的使用

5.6.11 使用<foreach>执行批量插入

5.6.12 使用<bind>标签对like语句进行适配

5.6.13 使用<trim>标签规范SQL语句

5.7 读写大文本类型的数据

5.7.1 操作Oracle数据库

5.7.2 操作MySQL数据库

5.8 实现数据分页

5.9 实现一对一级联

5.9.1 数据表结构和内容以及关系

5.9.2 创建实体类

5.9.3 创建SQL映射文件

5.9.4 级联解析

5.9.5 根据ID查询记录

5.9.6 查询所有记录

5.9.7 对SQL语句的执行次数进行优化

5.10 实现一对多级联

5.10.1 数据表结构和内容以及关系

5.10.2 创建实体类

5.10.3 创建SQL映射文件

5.10.4 级联解析

5.10.5 根据ID查询记录

5.10.6 查询所有记录

5.10.7 对SQL语句的执行次数进行优化

5.11 延迟加载

5.11.1 默认采用立即加载策略

5.11.2 使用全局延迟加载策略与两种加载方式

1.测试一对一全局延迟加载

2.测试一对多全局延迟加载

5.11.3 使用fetchType属性设置局部加载策略

1.测试一对一局部延迟加载

2.测试一对多局部延迟加载

5.12 缓存的使用

5.12.1 一级缓存

5.12.2 二级缓存

5.12.3 验证update语句具有清除二级缓存的特性

5.13 Spring事务传播特性

5.13.1 事务传播特性REQUIRED

5.13.2 事务传播特性SUPPORTS

5.13.3 事务传播特性MANDATORY

5.13.4 事务传播特性REQUIRES_NEW

1.测试1

2.测试2

5.13.5 事务传播特性NOT_SUPPORTED

5.13.6 事务传播特性NEVER

1.以非事务方式执行

2.存在事务则抛出异常

5.13.7 事务传播特性NESTED

5.13.8 事务传播特性总结

第6章 模板引擎FreeMarker和Thymeleaf的使用

6.1 使用FreeMarker模板引擎

6.1.1 FreeMarker的优势

6.1.2 FreeMarker的输出

6.1.3 整合Spring Boot与输出常见数据类型

6.1.4 输出布尔值

6.1.5 输出Date数据类型

6.1.6 循环集合中的数据

6.1.7 使用if命令实现判断

6.1.8 判断List的size值是否为0

6.1.9 处理null值

6.1.10 实现隔行变色

6.1.11 对象嵌套有null值的处理

6.1.12 比较运算符

6.1.13 遗拾增补

6.1.14 填充select中的option

6.1.15 实现自动选中select中的option

6.1.16 实现页面静态化

6.1.17 将ftlh文件中的内容输出到内存中

6.2 使用Thymeleaf模板引擎

6.2.1 整合Spring Boot与常见的使用方式

6.2.2 处理复杂数据类型

6.2.3 处理嵌套数据类型

6.2.4 访问Array

6.2.5 访问List

6.2.6 访问Map

6.2.7 访问request-session-application作用域

6.2.8 访问URL参数值

6.2.9 循环Array

6.2.10 循环List

6.2.11 循环Set

6.2.12 循环Map

6.2.13 生成Table

6.2.14 循环生成<input type=text>

6.2.15 获得状态变量

6.2.16 获得状态变量的简化版

6.2.17 实现国际化

6.2.18 处理URL

6.2.19 处理布尔值

6.2.20 操作属性

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部