spContent=“JavaEE平台技术”课程是一门介绍Java后端开发技术的课程。课程以JavaEE的一系列标准规范为基础,结合Spring Cloud, Mybatis, Redis等互联网开源平台和框架,介绍面向微服务体系结构系统的相关原理和构造方法。通过本课程的学习,可以掌握Spring框架的相关技术和原理,了解采用JavaEE技术开发高并发大负载系统的方法,熟练掌握JavaEE开发环境和工具。
“JavaEE平台技术”课程是一门介绍Java后端开发技术的课程。课程以JavaEE的一系列标准规范为基础,结合Spring Cloud, Mybatis, Redis等互联网开源平台和框架,介绍面向微服务体系结构系统的相关原理和构造方法。通过本课程的学习,可以掌握Spring框架的相关技术和原理,了解采用JavaEE技术开发高并发大负载系统的方法,熟练掌握JavaEE开发环境和工具。
—— 课程团队
课程概述
“JavaEE平台技术”课程涵盖了三大部分的内容。第一部分是基于Spring框架构建服务端系统的基础知识,包括Servlet,Spring框架核心,SpringMVC,Spring AOP和Mybatis等内容。第二部分是构建高并发大负载系统所需的相关知识,包括Redis缓存、RocketMQ消息服务以及WebFlux等相关内容。第三部分是基于Spring Cloud Alibaba的微服务体系结构,这一部分主要介绍SpringCloud Gateway和Nacos。为了让同学能深入掌握此三部分内容,课程中包含了一个通用权限管理系统的完整设计和实现,涵盖了课程中的三部分所含的技术内容。通过本门课程的学习,学生不仅可以掌握开发高并发大负载应用系统的基本知识,也能了解工程化设计和开发软件方法。
授课目标
计算机或软件工程专业三年级学生,或者有志于Java后端开发岗位的软件工程师
课程大纲
Spring框架核心
课时目标:本章介绍Spring框架的基础知识,通过本章的学习,同学应理解Spring框架的基本概念,了解Spring框架的Servlet技术栈和响应式技术栈的区别、了解Servlet容器的运行原理、掌握Spring容器的相关概念。
1.0 引言
1.1 软件模块化
1.2 Spring技术栈
1.3 Servlet原理
1.4 Spring容器
1.5 Spring对象生命周期
1.6 Spring对象生命周期示例
1.7 控制反转
Maven和SpringBoot
课时目标:Maven是SpringBoot工程的项目管理工具,通过本章的学习,同学应掌握Maven的基本知识,了解SpringBoot的特性。
2.0 引言
2.1 Maven简介
2.2 Maven生命周期
2.3 Maven插件
2.4 IDE与Maven对比
2.5 SpringBoot
2.6 Actuator
SpringMVC与RESTful API
课时目标:SpringMVC是Servlet技术栈的控制器框架,通过本章的学习,同学应掌握如何设计和实现一个控制器层,并了解在Servlet技术栈上的并发处理原理。
3.0 引言
3.1 RESTful API
3.2 RESTful操作(一)
3.3 RESTful操作(二)
3.4 SpringMVC
3.5 SpringMVC示例
3.6 合法性检查
3.7 合法性检查示例
3.8 跨域访问
3.9 Tomcat并发原理
测试Spring应用
课时目标:测试是开发软件的不可或缺的部分,通过本章的学习,同学应掌握针对Spring应用的单元测试、切片测试、集成测试和性能测试的方法
4.0 引言
4.1 测试方法
4.2 单元测试
4.3 切片测试与集成测试
4.4 测试示例
4.5 JMeter性能测试
4.6 TestTomcat示例
4.7 测试RestFulDemo
MyBatis与数据库
课时目标:本章介绍MyBatis以及Spring框架下的事务管理,通过本章的学习,同学应掌握MyBatis的基本概念、Spring框架下事务的配置方式以及基于MyBatis的数据库应用的层次体系结构。
5.0 引言
5.1 MyBatis
5.2 Mapper接口和XML配置
5.3 Spring中的MyBatis
5.4 事务的ACID
5.5 事务的隔离级别
5.6 层次结构及对象定义
5.7 SpringBoot的MyBatis工程配置
5.8 隔离级别的实验
缓存机制
课时目标:通过本章学习,同学应掌握MyBatis缓存和Redis缓存的基本知识。
6.0 引言
6.1 缓存的作用
6.2 MyBatis缓存
6.3 Redis缓存
6.4 缓存有效期和淘汰机制
6.5 缓存的雪崩和穿透
面向切面编程
课时目标:通过本章学习,同学应掌握面向切面编程的基本概念及在Spring框架下如何运用面向切面编程。
7.0 引言
7.1 面向切面的概念
7.2 Spring中的AOP
权限系统分析
课时目标:本章是2020年厦门大学软件工程系秋季学期课程设计的内容之一。通过本章的学习,同学可了解如何设计一个基于Spring框架的系统。
8.0 引言
8.1 需求分析
8.2 ER图和数据库设计
8.3 RESTful API设计
8.4 对象状态分析
8.5 瓶颈分析
8.6 体系结构之组件分析
8.7 体系结构之部署分析
8.8 详细设计-权限校验
8.9 详细设计-Redis设计
8.10 详细设计-静态模型设计
8.11 详细设计-动态模型设计
8.12 详细设计-设计讨论
权限系统实现
课时目标:本章是2020年厦门大学软件工程系秋季学期课程设计的内容之一。通过本章的学习,同学可了解如何综合运用前面章节中的知识解决权限管理系统中的实际问题。
9.0 引言
9.1 设计的改进
9.2 权限服务的工程
9.3 权限的缓存
9.4 用户和角色的缓存
9.5 权限AOP
9.6 用户重复登录
MyBatis原理
课时目标:本章是MyBatis的源代码分析,通过本章的学习,同学可以掌握MyBatis的基本结构,了解如何运用设计模式来解决实际设计问题。
10.0 引言
10.1 SqlSession接口
10.2 Configuration和Mapper
10.3 Executor接口
10.4 Transaction接口
10.5 获得Mapper对象
10.6 调用MapperProxy对象
10.7 执行selectList方法
10.8 执行doQuery方法
RocketMQ消息服务器
课时目标:通过本章的学习,同学可以掌握消息服务的基本概念,了解RocketMQ的架构。
11.0 引言
11.1 消息服务
11.2 消息的发送和接收
11.3 RocketMQ架构
11.4 RocketMQ工程代码分析
11.5 RocketMQ服务器运行分析
附录1:实验
实验一:基于MyBatis的Spring应用的读写效率
实验二:基于MyBatis的关联实现方案
实验三:Redis缓存的效率
实验四:RocketMQ的效率
实验五:WebFlux与SpringMVC对比实验
附录2:青软实验平台
课时目标:了解青鸟软件实验的平台的使用方法(仅限于厦门大学校内使用)。
1. 环境配置
2. 部署SpringBoot应用
3. 代码测试和结果发布
展开全部
预备知识
Java语言,数据库相关知识,HTTP网络协议,进程和线程管理
证书要求
为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。
电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。
完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。
认证证书申请注意事项:
1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。
2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。
参考资料
Spring实战(第5版 )克雷格·沃斯 人民邮电出版社 2020-2 9787115527929
Spring Cloud Alibaba官网 https://spring.io/projects/spring-cloud-alibaba