JavaEE
2025-04-14 15:00:19 0 举报
AI智能生成
Java EE(Java Platform, Enterprise Edition)是Java平台的标准的企业级版本,提供了一套API和运行时环境,支持开发和运行企业级应用,包括大型分布式网络应用。它支持多种组件类型,例如Servlets用于Web层,JavaServer Pages (JSP)用于模板制作,以及Enterprise JavaBeans (EJB)用于处理业务逻辑。该平台的特点是支持服务端组件模型,事务管理,持久性,以及面向消息的中间件,通过提供标准化的API和运行时环境简化了企业级应用的开发。Java EE使用的文件类型常见于WAR(Web Application Archive),EAR(Enterprise Archive)等多种打包格式。它被认为是一个高度可扩展、安全且面向服务的架构,适合构建跨平台的高性能、可伸缩的分布式应用。
作者其他创作
大纲/内容
第二章
框架简介
是一个基础性的架构,定义了一台规则,用于指导软件的设计和开发
Mybatis概念
ORM (持久化 将程序的数据在持久和瞬时状态转化的过程)
: 是一个优秀的持久层框架,支持自定义sql存贮过程以及高级映射,
免除了几乎所有的JDBC代码以及设置参数和获取结果的工作
通过简单的XML或注解(@Test是测试注解)来配置和映射原始类型
接口和java POJO 为数据库中记录
: 是一个优秀的持久层框架,支持自定义sql存贮过程以及高级映射,
免除了几乎所有的JDBC代码以及设置参数和获取结果的工作
通过简单的XML或注解(@Test是测试注解)来配置和映射原始类型
接口和java POJO 为数据库中记录
分层理念
单一职责原则:每个角色只负责自己的任务,专业的人专业的事
解耦:每个角色相互独立,一个角色的缺失不会影响其他角色的正常的运行。
所以能够高效的协作
所以能够高效的协作
MyBatis 三层架构
接口层
SqlsessionFactory Sqlseeion
能够获取Mapper代理 执行SQL 语句 控制事务
能够获取Mapper代理 执行SQL 语句 控制事务
核心处理层
执行SQL需要的功能 解析SQL 组装SQL语句 结果映射
基础支持层
提供日志,缓存,数据源等基础功能
会话对象
SplSeeion 描述与数据库一次会话的所有信息
提供了执行SQL语句的各种方法
提供了执行SQL语句的各种方法
准备阶段
Mybatis-Plus
SpringBoot
第三章
关联映射
针对多表之间操作,通过关联映射,处理对象之间的关联关系。
关联关系
一对一
数据库表设计:在任意一方引对方主键作为 外键
面向对象设计::在本类中定义对方类型的对象
一对多
数据库表设计:在“多”的一方 ,添加“一” 的一方的主键作为 外键
面向对象设计 : 一个A 类型中对应多个B类型, 在A中以集合的方式引入B类型的对象 在B类中定义A类型。
多对多
数据库表设计::引入两张主的主键作为 外键,两个主键成为联合主键或使用新的字段作为主键。
面向对象设计: 在A类中定义B类型的集合, 在B类中定义A类型的集合
映射标签
<resultMap>元素中
1对1 包含一个 <association>子元素 javaType 映射到实体对象属性的类型
1 对多 包含一个 <collection>子元素 ofType 映射到集合的实体对象属性的类型
1 对多 包含一个 <collection>子元素 ofType 映射到集合的实体对象属性的类型
propert : 映射到的实体类对象属性
column 对应表中的字段
select 查询子SQL
fetchType 关联查询时是否启动延迟加载 lazy eager 默认是延迟加载
column 对应表中的字段
select 查询子SQL
fetchType 关联查询时是否启动延迟加载 lazy eager 默认是延迟加载
嵌套结果
注解
用来为代码添加了元数据。注解不会影响程序的逻辑
使 代码 优雅 简洁 功能强大
用来为代码添加了元数据。注解不会影响程序的逻辑
使 代码 优雅 简洁 功能强大
什么是注解?
注解如同标签 标签是对事物行为的某些角度的评价与解释 。
注解的类型
元注解
java内置的注解 标明注解的使用范围 生命周期
标准注解
基础注解 标明过期的元素 标明是复写父类的方法的访求 抑制警告
自定义注解
第三方的注解
注解的使用范围
包 模块 类 接口 方法 属性 参数 构造器 注解类型
MyBatis 注解
@
Insert:实现新增 ,括号里是insert 插入拼接的SQL语句
Update:实现新增 ,括号里是Update 插入拼接的SQL语句
Delete:实现新增 ,括号里是Delete 插入拼接的SQL语句
Select:实现新增 ,括号里是Select 插入拼接的SQL语句
Result 实现结果集封装
Results 与@Result 一起使用 实现多个结果集封装
ResultMap 实现引用@Result 定义的封装
One 实现一对一结果集的 封装
Many 实现一对多结果集 封装
Param 参数传递
Select Provider 实现动态SQL的封装
CacheNamespace 实现注解二级缓存的使用
使用MyBatis 注解 实现增删改查
1 准备建表语句 创建实体类
2 新建接口 接口使用@Mapper
3 在mybatis-config.xml 指定带用注解的dao 接口所在包的路径
4 测试 在test测试包编写 测试方法
第四章 SpringBoot 开发入门
Spring 概念
是一款主流java EE 轻量级开源框架。
简化了 开发难度 和 开发 周期。
简化了 开发难度 和 开发 周期。
Sping IoC 容器
负责创建对象 管理对象 (通过依赖注入(DI) 装配对象 配置对象
并且管理这些对象的整个生命周期。)
并且管理这些对象的整个生命周期。)
依赖注入
组件之间依赖关系由容器在运行期决定,
由容器动态的将某个依赖注入到组件之中。
由容器动态的将某个依赖注入到组件之中。
Spring Bean 是什么
Bean 是Spring 容器实例化 组装 和管理 的对象
装配Bean 的两个阶段
装配阶段 创建Bean 实例 ,注册到IoC 容器中
依赖注入阶段 完成Bean实例的依赖注入
Spring 的核心容器
BeanFactory 容器 基础类型的
ApplicationContext 容器 核心容器 应用上下文
装配的方式
在xml中显示装配 (基于xml)
基于装配类的装配 (利用java代码和注解实现的)
隐式Bean 的发现机制和自动装配原则 ( 基于注解 的)
第五章 SpringBoot 的配置文件
一 .两种格式的配置
application.properties 配置文件
application.yaml 或者 application.yml
二 .application.properties配置
示例 :用 . 分割配置
eg: server.port=8080
用在数据库连接信息 环境变量 命令参数
用在数据库连接信息 环境变量 命令参数
三 .application.yaml 配置
YAML 文件格式 SpringBoot 支持的一种JSON超集文件格式
以数据为核心 更直观
以数据为核心 更直观
eg: sever :
port : 8080
key: (空格)value
www.baidu.com:80
port : 8080
key: (空格)value
www.baidu.com:80
四 .yaml 基本语法
大小写敏感,使用缩进来代表层级关系,
不允许tab,只允许空格,
相同层的元素左对齐
#表示注释,
:冒号后要有空格,
支持的数据类型:对象 数组 标题
不允许tab,只允许空格,
相同层的元素左对齐
#表示注释,
:冒号后要有空格,
支持的数据类型:对象 数组 标题
五 .优点
代码量少,一目了然 ,简洁
六 . 配置文件属性值注入
配置文件指的是 Application.properties Application.yml
有两个注解
@Componet 在Spring 应用程序 上下文中创建一个Bean
@ConfigurtaionProperties(prefix="xx") 从配置文件中读取数据
@Componet 在Spring 应用程序 上下文中创建一个Bean
@ConfigurtaionProperties(prefix="xx") 从配置文件中读取数据
七 . 配置文件属性注入到Person类
1 把ch05加载maven项目
在Person类配置
在Person类配置
2 在Person类配置
@Componet
@ConfigurtaionProperties(prefix="xx")
@Componet
@ConfigurtaionProperties(prefix="xx")
3 测试
@Autowired
Person person;
@Test
public void contextLoads() {
System.out.println(person.toString());
}
Person person;
@Test
public void contextLoads() {
System.out.println(person.toString());
}
八 使用@ Value 注入属性
使用@ Value 注入属性 省去setter(), 但是不支持复制 类型
两种方式的对比
9 PropertySource 加载指定的配置文件
@Configuration
@EnableConfigurationProperties
@PropertySource("classpath:test.properties")
@ConfigurationProperties(prefix = "test")
public class MyProperties {
public int id;
private String name;
@EnableConfigurationProperties
@PropertySource("classpath:test.properties")
@ConfigurationProperties(prefix = "test")
public class MyProperties {
public int id;
private String name;
10 多环境配置
使用配置文件指定多环境配置
1 开发环境配置文件 application-dev.yml
2 测试环境配置文件 application-test.yml
3 生产环境配置文件 application-prod.yml
2 测试环境配置文件 application-test.yml
3 生产环境配置文件 application-prod.yml
使用注解 来指定多环境配置
@Profle
使用pom 来管理多环境
第六章 SpringBoot Web MVC
一。HTTP协议概述
Hypter Text Transfer Protocol : 超文本传输协议
提供一种发布和接收HTML页面的方式,由URI 来标识具体的资源
HTTPS
hypter Text Transfer Protocol Secure
超文本传输安全协议
提供一种发布和接收HTML页面的方式,由URI 来标识具体的资源
HTTPS
hypter Text Transfer Protocol Secure
超文本传输安全协议
二 。HTTP报文
客户端与服务器之间通过HTTP协议 交换的数据单位
请求报文 从客户端发送到服务器
响应报文 从服务器发送到客户端
请求报文 从客户端发送到服务器
响应报文 从服务器发送到客户端
三 。请求消息
组成部分:由请求行 请求头 空行 实体主体 组成
请求行 由 请求方法 字段 、URL 、HTTP协议版本字段 组成。
四 。GET POST 方法的区别
get 一般用来从服务器获取数据
post 一般用来向服务器发送数据
post 一般用来向服务器发送数据
GET请求的数据会附在URL,无请求体 ,明文传输 传输的数量小
POST 方法提交的数据则放置在HTTP报文实体的主体里
POST 方法提交的数据则放置在HTTP报文实体的主体里
五 。响应消息
组成部分 : 状态行 响应头部 空行 响应数据组成。
六 。响应状态码
1 信息响应 100~199 接收的请求
2 成功响应 200~299 请求正常处理完毕
3 重定向 300~399 需要进行其它操作才能完成
4 客户端错误 400~499 服务器无法处理
5 服务器错误 500~599 服务器错误
2 成功响应 200~299 请求正常处理完毕
3 重定向 300~399 需要进行其它操作才能完成
4 客户端错误 400~499 服务器无法处理
5 服务器错误 500~599 服务器错误
七 。SpringMVC 核心注解
1 Controller
新建java类, 名字的后缀叫Contrller
需要在类的名称前加上@Controller
控制器负责处理用户请求并返回相应的响应
新建java类, 名字的后缀叫Contrller
需要在类的名称前加上@Controller
控制器负责处理用户请求并返回相应的响应
2 RepuestMapping
用来映射web 请求(如URL路径)到具体方法上的注解上
可以标注在类上,也可以标注在方法上·
用来映射web 请求(如URL路径)到具体方法上的注解上
可以标注在类上,也可以标注在方法上·
两个属性
1 path(value) 定义一个URL地址
2 指定HTTP 请求方法 RequestMethod.GET PUT DELETE POST
3 ResponeBody
将控制器方法的返回值作为 响应体 返回给客户端
将控制器方法的返回值作为 响应体 返回给客户端
4 RequestParam
把http 协议 请求消息中的参数 绑定 控制器方法上参数上。
用来接收URL查询字符串或者是表单中的参数
把http 协议 请求消息中的参数 绑定 控制器方法上参数上。
用来接收URL查询字符串或者是表单中的参数
5 RequestBody
把http 协议 请求消息中的内容 绑定 方法的参数, 并将其转换Java对象。
把http 协议 请求消息中的内容 绑定 方法的参数, 并将其转换Java对象。
八 REST ful API
REpresentational State Transfer 表现层状态转换架构风格的WEB接口
客户端通过HTTP动词 对服务器资源进行操作, 实现表现层状态转化
客户端通过HTTP动词 对服务器资源进行操作, 实现表现层状态转化
九 设计法测与最佳实践
扁平比嵌套好
简单胜于复杂
字符串比数字好
一致性比定制更好
最佳实践
UPL 命名规则 小写不使用连接符
根据返回资源来定义URL
URL中不添加动作
不使用表名做URL 会泄露数据库结构
对于非资源URL 使用
十 创建RESTFul API
@REstController == @Controller+ResponseBody
用于RESTful API
用于RESTful API
@RequesMapping
用于类上和方法上
用于类上和方法上
新的HTTP动作注解
@GetMapping @PostMappping @PutMapping @DeleteMapping
@GetMapping("/get") == @RequestMapping(value = "/get",method = RequestMethod.GET)
@GetMapping 约等于 @RequestMapping(value = "/get",method = RequestMethod.GET)
API application interface
@GetMapping @PostMappping @PutMapping @DeleteMapping
@GetMapping("/get") == @RequestMapping(value = "/get",method = RequestMethod.GET)
@GetMapping 约等于 @RequestMapping(value = "/get",method = RequestMethod.GET)
API application interface
第七章 SpringBoot 数据访问
一 。Springboot 数据访问
依赖的前缀是 spring-boot-starter-data-
mybatis的依赖名称是 mybatis- spring-boot-starter
二 。整合的步骤
1.数据准备建表和插入数据
2 创建项目添加依赖
3 编写配置文件
三。 mybatis-plus介绍
1 自动CRUD ( CREATE READ UPDATE DELETE 增删改查)
通过内置BaseMapper 接口 , 封装了常用 的 增删改查
通过内置BaseMapper 接口 , 封装了常用 的 增删改查
2 代码生成器
根据模板来生成代码 实体类 mapper接口 mapper 配置文件
根据模板来生成代码 实体类 mapper接口 mapper 配置文件
3 条件构造器
可以链式调用 构造查询条件
可以链式调用 构造查询条件
4 内置插件
分页插件 逻辑删除
分页插件 逻辑删除
四 mybatis-plus 的使用
XXMapper extends BaseMapper<实体类的名称>
MP 内置的接口
int insert(T t) 向表中插入一条数据 T 指代是实体类
int deleteById( Serilizable id ) 根据主键ID从表中删除一条数据
T selectById( Serilizable id ) 根据主键ID从表中查询一条数据
int updateById( T t ) 根据主键ID从表中更新一条数据
int insert(T t) 向表中插入一条数据 T 指代是实体类
int deleteById( Serilizable id ) 根据主键ID从表中删除一条数据
T selectById( Serilizable id ) 根据主键ID从表中查询一条数据
int updateById( T t ) 根据主键ID从表中更新一条数据
分支主题
0 条评论
下一页
为你推荐
查看更多