Java常用框架的优缺点和区别

一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
Struts2优点
1、实现了MVC模式,层次结构清晰。
2、拥有丰富的标签库,大大的提高了开发的效率。
3、使用了OGNL:OGNL可以快速的访问值栈中的数据、调用值栈中对象的方法。
4、提供了丰富的拦截器。
5、Struts2为多种视图选项(JSP、Velocity等)提供支持。

二、Hibernate是一种ORM框架,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象
Hibernate的优点和缺点
优点:
1、提高了生产效率
2、更好的移植性,对于不同的数据库,开发者只需要使用相同的数据操作即可。
3、映射的灵活性,它可以支持各种关系数据库,从一对多到多对多的各种复杂关系。
4、提供了一级缓存(Session)和二级缓存(SessionFactory)。
缺点:
1、由于对持久层封装过于完整,导致开发人员无法对SQL进行优化。
2、项目中的ORM原则,导致配置过于复杂。
3、执行效率和原生的JDBC相比偏差:特别是在批量数据处理的时候。
4、不支持批量删除、修改。

Hibernate如何延迟加载
1、当调用session的load()方法加载实体类时,就会延迟加载。
2、当Session加载某个实体时,会对这个实体中的集合属性值采用延迟加载。

三、Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题
Spring是什么及Spring的优点
1、Spring是一个轻量级的IOC和AOP容器框架。
2、声明事物的支持。
3、Spring是个容器,因为它包含并且管理应用对象的生命周期和配置,比如对象的创建、销毁、回调等。
4、降低Java EE API的使用难度。
5、Spring提供了对各种优秀框架(如Struts,Hibernate等)等的直接支持。

Spring的注入方式有哪些
Spring主要有三种注入方式:造方法注入,setter注入,接口注入。

四、SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。
springmvc怎么防止SQL注入
使用SpringMVC的拦截器实现防止SQL注入。

五、MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
讲一下mybatis的缓存机制
Mybatis的缓存机制有两级:
一级缓存(SqlSession级别):一级缓存mybatsi已近为我们自动开启,不用我们手动操作,而且我们是关闭不了的!!但是我们可以手动清除缓存。
二级缓存:mapper级别的缓存,也是基于hashmap本地缓存,不同的sqlSession两次执行相同的namespace下的sql语句,第二次查询就不会进行数据库了(二级缓存需要我们手动开启)。

SSH与SSM有什么区别
SSH指的是:Struts+Spring+Hibernate
SSM指的是:Spring+SpringMVC+MyBatis

Hibernate与Mybatis区别
1、mybatis属于半自动化,sql需要手工完成,稍微繁琐。
2、hibernate入门门槛较高的,不需要程序写sql,sql语句自动生成了。对sql语句进行优化、修改比较困难的。

Springmvc与struts2区别
1、Struts2 的核心是基于一个Filter。
2、SpringMvc的核心是基于一个Servlet(前端控制器)。
3、Struts2的OGNL表达式使页面的开发效率相比SpringMVC更高些。
4、SpringMVC使用简洁,开发效率比Struts2高,支持JSR303,处理ajax请求方便。

你可能感兴趣的:(Java常用框架的优缺点和区别)