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