框架

可口可悲 2019-04-01 07:09:08
spring是一个轻量级框架,是非侵入式的,开发的应用一班不依赖于spring,spring对框架提供了很好的集成作用 spring 主要有两个核心技术aop,ioc ioc(控制反转)将自己创建对象的权利反转给spring工厂,由spring来控制对象的产生跟销毁,最大好处 在于依赖注入 aop(面向切面)类似于一个过滤器,在进行数据的增删改时需要使用事物管理,在增删改方法执行前需 要开启事物,执行后需要提交事物,可以在开启事物跟提交事物的地方设置两个切点将事物管理交由spring控制 spring提供了3种依赖注入方式setter注入,构造注入,接口注入(已被遗弃) hibernate是基于orm(o对象 r关系 m映射)模式的框架 hibernate里的对象有3种状态 临时状态:不存在于数据库也不在session的管理范围内 持久态:存在数据库类也在session管理范围内,对该状态下的对象属性进行修改,hibernate会自动向数据库发送一条修改语句 游离态:存在于数据库但不在session管理内 将临时状态变为持久态可调用session.save(object),就持久态变为游离态可调用session.remove(object)(清除指定对象),session.clear(清空session所管理的全部对象) hibernate的缓存级别 一级缓存为session级缓存,当在同一个session中调用两次一样的查询语句第二次将不会到数据库中拿数据 二级缓存为sessionfacotey级缓存,可以跨session,二级缓存可能会产生n+1问题 一级缓存为默认开启,二级缓存需要手动开启 hibernate有两个可以得到session的方法getcurrentsession(),opensession() getcurrentsession():查看当前是否存在session,如果存在直接返回当前session,如果不存在则创建一个新的返回 opensession:不管当前是否存在session都会创建一个新的session返回 struts2的入口为filter,springmvc的入口为servlet springmvc比Struts快,springmvc基于方法,而Struts2基于类每次请求都会实例化一个action struts具有侵入性(action必须实现actionsuper),spring则没有 效率上 hibernate为全自动方式,普通的sql已经封装好,开发效率高 mybatis需要手动写sql 性能上 hibernate自动生成sql,有些语句过于繁琐,会多消耗一些性能 mybatis手动编写sql可以避免不必要的查询,提高系统性能
...全文
33 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧