计算机
类型
可以朗读
语音朗读
415千字
字数
2022-01-01
发行日期
展开全部
主编推荐语
本书讲解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 操作属性
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。