文章目录
0.补充
0.1 解耦与MVC
开发中经常会提到“解耦”的概念,通俗来说就是降低模块之间的关联度,达到修改A模块不会影响B、C、D等等模块的目的。
MVC框架的一个核心理念就是“解耦”,每一个模块仅仅负责自己的事情,互不影响,
不能将所有的代码逻辑都写在一起,修改一些前端样式,连接不上数据库了,这种肯定是不行的。
0.2 关于删除与伪删除
在真实的业务场景中,一些核心的资料,业务方一般会采用“伪删除”。
即用户点击了删除,后端并未在数据库中删除,而是修改了查询语句,将查询到的数据经过过滤显示到前端。
1.认识框架
1.1 框架技术
是一个应用程序的半成品,提供可重用的公共结构,按一定规则组织的一组组件。
1.2 分析优势
使得开发人员不用再考虑公共问题而专心在业务实现上;
使得代码结构统一,易于学习、维护,新手也可写出好程序。
现在的新项目少了很多传统的漏洞,是无法离开这些优秀的框架的。
当然框架本身也是存在一些漏洞风险的,也算是一个弊端吧。
理解:
框架就像一个简历模板,之后大家在写简历直接在人家的模板上补充自己的资料就行,
不用在花费心思去设计整体的简历框架,照片放哪,专业放哪等等。
使得每个应届毕业生也可以写出一个不错的简历。
2. 常见框架简介
2.1 Struts2
- MVC设计模式的实现
- 拦截器
- 可变和可重用的标签
2.2 Hibernate
- ORM,简化数据库操作
什么是ORM - DAO层
2.3 Spring
- 依赖注入容器 / AOP实现
- 声明式事务
- 简化Java EE应用
- 黏合剂,将大家组装到一起
2.4 Spring MVC
- 结构最清晰的MVC Model2实现
- 高度可配置,支持多种视图技术
- 定制化开发
2.5 Mybatis
- 半自动化的ORM实现
- DAO层
- 动态SQL
- 小巧灵活、简单易学置。
3. 常见框架介绍
3.1 Spring
参考:
https://www.cnblogs.com/tanghaorong/p/13288269.html
https://iter01.com/460368.html
3.2 SSH工作流程
SSH框架集,就是很好的对应了MVC模式的开发使用。
这种Struts+Hibernate+Spring的三大框架整合,契合着MVC模式的三层对象。
其中Struts对应着前台的控制层,而Spring则负责实体bean的业务逻辑处理,
至于Hibernate则是负责数据库的交接以及使用Dao接口来完成操作。
,
后来Struts2代替了Struts。最近5年,Struts2已经被Spring MVC代替,
而Hibernate基本也被iBatis/MyBatis代替。
持久层框架看看Hibernate/iBatis/MyBatis
- Struts2 负责显示页面和接受请求
- Spring 的 IOC 容器管理各个组件: 整合 Struts2,Hibernate 和 其他组件,AOP 完成声明式事务
- Hibernate 提供 DAO 操作.
可以参考:
https://blog.51cto.com/u_15076209/3964205
http://hongyitong.github.io/2017/02/09/%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3%20ssh%20%E4%B8%89%E5%A4%A7%E6%A1%86%E6%9E%B6/
3.3 Shiro技术介绍
shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。
建议参考:
https://segmentfault.com/a/1190000013875092
3.4 Spring MVC
spring是实现springMVC的基础,springMVC是基于Spring开发的一款用于WEB开发的框架。
springmvc就是spring在mvc框架中的实践,与springboot啥的没有区别,面相的方向不同而已
3.5 Struts2
参考链接:
https://www.w3cschool.cn/struts_2/struts_overview.html
https://www.yiibai.com/struts_2/
4. MyBatis
4.1 概念
-
MyBatis前身是iBatis,本是Apache的一个开源的项目
-
官方网站:http://mybatis.org
-
ORM框架:实体类和SQL语句之间建立映射关系
-
特点:
基于SQL语法,简单易学 能了解底层封装过程 SQL语句封装在配置文件中,便于统一管理与维护,降低程序的耦合度 方便程序代码调试
4.2 MyBatis框架优缺点
优点:
与JDBC相比,减少了50%以上的代码量
最简单的持久化框架,小巧并简单易学
SQL代码从程序代码中彻底分离,可重用
提供XML标签,支持编写动态SQL
提供映射标签,支持对象与数据库的ORM字段映射
缺点:
SQL语句编写工作量大,对开发人员有一定要求
数据库移植性差
4.3 MyBatis基本要素
-
MyBatis的核心对象
SqlSessionFactoryBuilder SqlSessionFactory SqlSession
-
mybatis-config.xml 系统核心配置文件
-
mapper.xml SQL映射文件
5. Hibernate
一个框架
一个 Java 领域的持久化框架
一个 ORM 框架
建议参考:
https://segmentfault.com/a/1190000013568216
http://c.biancheng.net/hibernate/
另外Hibernate与MyBatis的区别与联系:
https://cloud.tencent.com/developer/article/1478393
https://bbs.huaweicloud.com/blogs/288263