类似推荐
编辑推荐
本书讲解Spring Boot MVC的具体使用,帮你快速上手Java企业级应用开发工作。
内容简介
本书主要讲解如何在Spring Boot框架中开发MVC应用,包括主流的JavaEE框架,如MyBatis、Spring、SpringMVC、FreeMarker和Thymeleaf等。读者可以进行“精要”式学习,正确地进行项目实战,同时汲取JavaEE的思想,并最终将这种思想灵活运用到实际工作中。《Spring Boot+MVC实战指南》主要涉及MVC框架的原理实现、上传、下载、数据验证、国际化、多模块分组开发、转发/重定向、JSON的解析、将Ajax及JSON和MVC框架进行整合开发,以及MyBatis中映射文件的使用。本书还介绍了Spring中的核心技术(依赖注入与AOP),掌握这两项技术是学习Spring的重中之重。
作者简介
作者高洪岩,某世界500强项目经理,有10年Java相关开发经验,精通Java语言,擅长J2EE、EJB、Android、报表和多线程,以及并发相关的技术内容,理论与实践经验颇丰。著有《Java多线程编程核心技术》《Java并发编程:核心方法与框架》《NIO与Socket编程技术指南》《Java EE核心框架实战(第2版)》《Jasper Reports+iReport报表开发详解》《Android学习精要》等书籍。
章节目录
版权信息
内容提要
作者简介
致谢
前言
资源与支持
第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 使用
1.9.2 使用
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 使用
5.5.2 如果SQL映射的id值相同,有无databaseId的优先级
5.6 动态SQL
5.6.1 使用
5.6.2
5.6.3 使用${}拼接SQL语句
5.6.4
5.6.5
5.6.6
5.6.7 针对Oracle/MySQL实现like模糊查询
5.6.8
5.6.9
5.6.10
5.6.11 使用
5.6.12 使用
5.6.13 使用
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 循环生成
6.2.15 获得状态变量
6.2.16 获得状态变量的简化版
6.2.17 实现国际化
6.2.18 处理URL
6.2.19 处理布尔值
6.2.20 操作属性
SpringBoot+MVC实战指南是2022年由人民邮电出版社出版,作者高洪岩。
得书感谢您对《SpringBoot+MVC实战指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。