展开全部

主编推荐语

本书讲解Spring Boot MVC的具体使用,帮你快速上手Java企业级应用开发工作。

内容简介

本书主要讲解如何在Spring Boot框架中开发MVC应用,包括主流的JavaEE框架,如MyBatis、Spring、SpringMVC、FreeMarker和Thymeleaf等。读者可以进行“精要”式学习,正确地进行项目实战,同时汲取JavaEE的思想,并最终将这种思想灵活运用到实际工作中。

本书主要涉及MVC框架的原理实现、上传、下载、数据验证、国际化、多模块分组开发、转发/重定向、JSON的解析、将Ajax及JSON和MVC框架进行整合开发,以及MyBatis中映射文件的使用。本书还介绍了Spring中的核心技术(依赖注入与AOP),掌握这两项技术是学习Spring的重中之重。

本书语言简洁,示例丰富,以掌握实用技术为目的,帮助读者迅速掌握使用主流开源JavaEE框架进行开发所需的各种技能。

目录

  • 版权信息
  • 内容提要
  • 作者简介
  • 致谢
  • 前言
  • 资源与支持
  • 第1章 Spring 5核心技术之IoC
  • 1.1 什么是框架
  • 1.2 反射与XML操作
  • 1.2.1 基础知识准备——反射
  • 1.2.2 基础知识准备——操作XML文件
  • 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.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.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开发环境
  • 3.2.2 搭建CSS+JavaScript+HTML+JSP开发环境
  • 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 实现国际化
  • 3.4.4 处理异常
  • 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注解
  • 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数据库
  • 4.6.2 操作MySQL数据库
  • 4.7 使用MyBatis Generator插件:多模块
  • 4.7.1 操作Oracle数据库
  • 4.7.2 操作MySQL数据库
  • 4.8 自建环境使用Mapper接口操作Oracle-MySQL数据库
  • 4.8.1 接口-SQL映射的对应关系
  • 4.8.2 针对Oracle的CURD
  • 4.8.3 针对MySQL的CURD
  • 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语句
  • 5.6.4 <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 使用全局延迟加载策略与两种加载方式
  • 5.11.3 使用fetchType属性设置局部加载策略
  • 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
  • 5.13.5 事务传播特性NOT_SUPPORTED
  • 5.13.6 事务传播特性NEVER
  • 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 操作属性
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0

    本书主要讲解如何在 Spring Boot 框架中开发 MVC 应用,包括主流的 JavaEE 框架,如 MyBatisSpringSpringMVCFreeMarker Thymeleaf 等。读者可以进行 “精要” 式学习,正确地进行项目实战,同时汲取 JavaEE 的思想,并最终将这种思想灵活运用到实际工作中。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。