0
点赞
收藏
分享

微信扫一扫

Java代码审计(5)JavaEE介绍

静鸡鸡的JC 2022-01-20 阅读 55

文章目录

0.补充

0.1 解耦与MVC

开发中经常会提到“解耦”的概念,通俗来说就是降低模块之间的关联度,达到修改A模块不会影响BCD等等模块的目的。

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
举报

相关推荐

0 条评论