Hibernate及Spring的框架简述

来源:互联网 发布:淘宝联盟可以招代理吗 编辑:程序博客网 时间:2024/05/16 05:19

最近在复习一些框架的概念,总结了一下,谈一谈我的理解。。。。。。。。。。

1.对Hibernate的理解

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,大大简化了数据访问层繁琐的重复性代码。
1.Hibernate中的三种状态:

  1. 临时状态(Transient Object):只是new了对象,但是对象没有立即被持久化,没有和数据库进行任何的关联
  2. 持久化状态(Persistent Object):与数据库进行关联,执行了session的操作
  3. 游离状态(Detached Object):session关闭之后,持久化对象就变为游离的对象不再受session管理。

2.Hibernate的三级缓存:

  1. 一级缓存(session级别的缓存):session关闭后,缓存就消失了。hibernate发出一条查询,若缓存中没有,则从数据库中查,查到之后放入缓存
  2. 二级缓存(sessionFactory级别缓存):hibernate没有提供相应的二级缓存组件,所以需要额外的二级缓存包EHcache,hibernate二级缓存存的仅仅是对象,当一级缓存关闭之后,一级缓存就失效了,若这个对象配置了二级缓存,就算session关闭,hibernate会从二级缓存(sessionFactory)中查到数据。
  3. 三级缓存(sessionFactory级别缓存)

3. Hibernate中的懒加载:
Hibernate中的懒加载又称延迟加载。那么,我们为什么要用懒加载呢?因为在我们访问的数据量很多的时候,用缓存就不太合适,有考虑到内存容量是有限的,为了减少并发量,减少系统资源的消耗,让数据在需要的时候在加载,这时候就用到了懒加载。提过了性能。

2.对Spring的理解

Spring是一个粘合剂,相当于一个大管家,他的两大核心机制是Ioc(inversion of controller)控制反转,又称依赖注入(depency injection)及Aop面向切面编程。
对于Ioc的理解:
控制反转:对象控制权的转移,由传统的在程序中控制依赖转移到由容器来控制;
依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。
对于Aop的理解:
面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。
Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。

1 0
原创粉丝点击