目录 项目1初识Spring1 任务1.1了解Spring1 1.1.1Spring简介1 1.1.2Spring的作用1 1.1.3Spring的发展2 任务1.2认识Spring项目模板3 任务1.3了解Spring容器4 1.3.1BeanFactory4 1.3.2ApplicationContext4 任务1.4体验Spring编程5 1.4.1环境准备5 1.4.2创建Spring Maven项目5 1.4.3认识注解6 1.4.4基于注解方式的Spring编程7 任务1.5了解Spring控制反转(IOC)10 1.5.1初识IOC11 1.5.2依赖注入14 任务1.6综合案例: 获取Spring中Bean的相关信息16 1.6.1案例任务16 1.6.2任务分析16 1.6.3任务实施16 小结20 课后练习: 获取Spring Bean对象相关信息并过滤20 项目2认识Spring中的Bean21 任务2.1基于注解创建无变量属性Bean21 2.1.1通过@Bean标识方法创建Bean21 2.1.2通过@ComponentScan自动扫描方式创建Bean25 2.1.3通过@Import创建Bean26 2.1.4通过FactoryBean工厂创建Bean30 任务2.2基于注解创建有变量属性的Bean32 2.2.1利用有参构造方法注入32 2.2.2利用set方法注入33 2.2.3利用注解注入35 任务2.3了解Bean的作用域41 2.3.1初识Bean作用域41 2.3.2Bean的作用域与线程安全42 2.3.3Spring中单例Bean的多线程访问控制43 任务2.4了解Bean的生命周期43 任务2.5综合案例: 统计用户登录次数44 2.5.1案例任务44 2.5.2任务分析44 2.5.3任务实施44 小结48 课后练习: 校验并分类统计登录用户信息48 项目3Spring AOP编程49 任务3.1了解代理机制49 任务3.2初识Spring AOP50 3.2.1AOP简介50 3.2.2AOP术语51 3.2.3Spring的两种AOP实现52 任务3.3基于注解的AOP编程57 任务3.4综合案例: 利用AOP实现访问控制62 3.4.1案例任务63 3.4.2任务分析63 3.4.3任务实施63 小结66 课后练习: 利用AOP方法实现权限认证66 项目4初识Spring Boot67 任务4.1了解Spring Boot67 任务4.2体验Spring Boot编程67 4.2.1创建Spring Boot项目68 4.2.2分析项目结构及pom.xml文件68 4.2.3运行Spring Boot项目并打包71 4.2.4设置Spring Boot服务开机启动73 任务4.3体验Spring Boot单元测试75 4.3.1使用默认测试类进行单元测试75 4.3.2手动创建测试类进行单元测试76 任务4.4了解Spring Boot配置文件78 4.4.1初识yaml语法78 4.4.2读取yaml中的配置79 任务4.5Spring Boot多环境配置85 4.5.1基于多文件的多环境配置85 4.5.2基于单文件的多环境配置86 任务4.6综合案例: 用Spring Boot实现基于TCP服务的请求响应87 4.6.1案例任务87 4.6.2任务分析87 4.6.3任务实施88 小结91 课后练习: 用Spring Boot实现基于TCP服务网购功能91 项目5Spring Boot数据操作和事务处理92 任务5.1初识数据库连接池92 5.1.1Hikari连接池92 5.1.2Druid连接池94 任务5.2Spring Boot Mybatis数据操作96 5.2.1Mybatis简介96 5.2.2Spring Boot引入Mybatis97 5.2.3Spring Boot引入Lombok插件98 5.2.4Mybatis注解进行单表数据操作99 5.2.5Mybatis注解进行多表关联查询104 5.2.6Mybatis注解动态SQL111 5.2.7Mybatis数据缓存机制121 任务5.3Spring Boot事务125 5.3.1事务简介126 5.3.2Spring Boot声明式事务控制126 5.3.3事务隔离级别127 5.3.4事务传播机制128 5.3.5编程实现基于注解的事务控制129 任务5.4综合案例: 用Spring Boot模拟实现人员账户管理130 5.4.1案例任务130 5.4.2案例分析131 5.4.3任务实施131 小结131 课后练习: 用Spring Boot模拟实现人员账户转账131 项目6Spring Boot定时任务132 任务6.1Cron表达式和定时任务框架132 6.1.1初识Cron表达式132 6.1.2常用的定时任务框架134 任务6.2基于Spring Task定时任务编程135 6.2.1初识Spring Task135 6.2.2Spring Task基于单个定时任务编程实现135 6.2.3Spring Task基于多个定时任务编程实现139 6.2.4Spring Task动态定时任务编程实现142 任务6.3综合案例: 利用Spring Task实现定时闹钟146 6.3.1案例任务146 6.3.2案例分析146 6.3.3任务实施147 小结147 课后练习: 定时清除过期闹钟任务147 项目7Spring Boot消息队列148 任务7.1初识消息队列148 7.1.1消息队列简介148 7.1.2常用的消息队列中间件149 任务7.2基于Kafka的消息队列编程149 7.2.1Kafka简介149 7.2.2Kafka安装和配置151 7.2.3Spring Boot引入Kafka151 7.2.4Spring Boot基于Kafka的编程实现152 任务7.3综合案例: Kafka采集主机运行信息159 7.3.1案例任务159 7.3.2案例分析159 7.3.3任务实施160 小结166 课后练习: Kafka采集键盘输入字符数据167 项目8Spring Boot Web应用开发——后端168 任务8.1初识Spring MVC168 8.1.1Spring MVC简介168 8.1.2Spring MVC工作流程169 8.1.3Spring Boot引入Spring MVC170 8.1.4Spring MVC单元测试工具——MockMvc170 任务8.2Spring MVC访问静态资源171 任务8.3Spring MVC访问动态资源——映射请求172 8.3.1@Controller注解172 8.3.2@RequestMapping注解172 8.3.3组合注解175 任务8.4Spring MVC访问动态资源——获取请求数据175 8.4.1@RequestParam注解175 8.4.2@RequsetBody注解180 8.4.3@PathVariable注解184 任务8.5Spring MVC访问动态资源——输出响应186 8.5.1跳转页面186 8.5.2回写数据191 任务8.6Spring MVC Restful风格编程192 8.6.1初识Restful风格192 8.6.2Spring MVC实现Restful风格编程193 任务8.7Spring MVC 拦截器196 8.7.1定义拦截器196 8.7.2使用拦截器197 8.7.3拦截器和过滤器199 任务8.8Spring MVC文件上传和下载200 8.8.1Spring MVC 文件上传200 8.8.2Spring MVC文件下载203 任务8.9综合案例: 员工信息管理204 8.9.1案例任务204 8.9.2案例分析204 8.9.3任务实施204 小结205 课后练习: 学生信息管理205 项目9Spring Boot Web应用开发——前端206 任务9.1了解Spring Boot Web应用前端实现方式206 任务9.2利用JSP模板引擎实现前端功能207 9.2.1初识JSP模板引擎207 9.2.2Spring Boot引入并配置JSP模板引擎207 9.2.3编写控制器类和JSP前端页面实现增、删、改、查209 任务9.3利用Thymeleaf模板引擎实现前端功能216 9.3.1初识Thymeleaf模板引擎216 9.3.2Spring Boot引入Thymeleaf模板引擎216 9.3.3Thymeleaf语法216 9.3.4编写Thymeleaf前端页面实现增、删、改、查220 任务9.4利用Vue实现前端功能223 9.4.1初识Vue224 9.4.2搭建Vue3开发环境225 9.4.3创建Vue3项目225 9.4.4Vue3项目目录结构及访问机制228 9.4.5Vue3组件入口函数——setup函数230 9.4.6创建和渲染响应式数据233 9.4.7修改响应式数据243 9.4.8异步加载响应式数据——Axios组件245 9.4.9Vue3页面跳转——VueRouter组件251 9.4.10Vue3集成ElementPlus259 任务9.5综合案例: 基于Vue3实现员工信息管理264 9.5.1案例任务264 9.5.2案例分析264 9.5.3任务实施264 小结264 课后练习: 学生信息管理265 项目10Spring Boot安全控制——Security266 任务10.1初识Spring Security266 10.1.1Security简介266 10.1.2Spring Boot中引入Spring Security267 任务10.2Spring Security单用户认证和授权267 10.2.1Spring Security默认登录注销认证267 10.2.2Spring Security自定义登录注销认证270 10.2.3Spring Security自定义授权273 10.2.4Spring Security静态资源的访问控制278 任务10.3Spring Security多用户认证和授权278 任务10.4综合案例: 利用Spring Security进行安全控制281 10.4.1案例任务281 10.4.2案例分析281 10.4.3案例实施281 小结282 课后练习: 前后端分离项目的安全控制282 项目11Spring Boot Web项目部署283 任务11.1部署前后端不分离项目283 11.1.1基于Jar项目部署283 11.1.2基于War项目部署285 任务11.2前后端分离项目部署288 小结291 课后练习: 学生信息管理项目部署291 参考文献292