javaee期末知识点_第1页
javaee期末知识点_第2页
javaee期末知识点_第3页
javaee期末知识点_第4页
javaee期末知识点_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hibernate工作原理及为什么要用?1 .读取并解析hibernate.cfg.xml配置文件2 .读取并解析映射信息3 .创建 SessionFactory4 .打开 Sesssion5 .创建事务Transation6 .持久化操作7 .提交事务8 .关闭 Session9 .关闭 SesstionFactoryhibernate 是基于 ORM对象关系映射为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的 ORM实现。简化DAO 层的编码工作3. hibernate使用J

2、ava反射机制,而不是字节码增强程序来实现透明性。4. hibernate的性能好,是个轻量级框架。映射的灵活性出色。支持各种关系数据库,从一对一到多对多的各种复杂关系。Struts2流程如下:1、客户端浏览器发出HTTP请求。2、根据 web.xml配置,该请求被 FilterDispatcher接收。3、根据struts.xml配置,找到需要调用的 Action类和方法, 并通过IoC方式,将值注 入名A Aciton。4、Action调用业务逻辑组件处理业务逻辑,包含表单验证。5、Action执行完毕,根据 struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。6

3、、返回HTTP响应到客户端浏览器。Struts 2常用标签:/用于分支控制、组合使用;降集合迭代输出包含一个jsp页面/servlet的输出为其他标签提供参数Struts的validate框架是如何验证的?在struts 配置文件中配置具体的错误提示,在 FormBean中的validate。 方法具体调 用。Spring两大功能?控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直 接操控。依赖注入:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。IOC 和 AOP控制反转模式,不创建对象,但是描述创建它们的方式。在代码中不直接与对象和

4、服务 连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。 面向方面的编程面向方面的编程(AOP)是通过预编译方式和运行期动态代理,实现再不修改源代码的 情况下给程序动态统一添加功能的一种技术。它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。AOP和IOC是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复 杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和Java类中才能实现日志功能。在AOP方式中,可以反过来将日志服务模块化,并以

5、声明的方式将它们应用到需要日志的组件上。当然,优势就是Java类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP编写的应用程序代码是松散耦合的。AOP的功能完全集成到了Spring事务管理、日志和其他各种特性的上下文中。简述对Ioc的理解?Spring实现DI的几种方式?IoC是一种设计模式,它反转的是依赖对象的获取方式(注入和非注入)。可以把IoC模式看做是工厂模式的升华,认为IoC就是一个大工厂,只不过这个大工厂里要生成的对象都 是在XML文件中给出定义的,然后利用Java的反射机制,根据XML中给出的类名生成相应的对象。从实现来看,IoC是把以前在工厂方法

6、里写死的对象生成语句,改变为由XML文件来定义,也就是 把 工厂”和对象生成”这两者独立分隔开来,目的就是提高灵活性和 可维护性。1 .设置注入(通过set方法为目标bean注入属性)2 .构造注入(利用构造函数来设置)Hibernate对象的三种状态并举例说明瞬态、游离态和持久态,三种状态转化的方法都是通过sessio冰调用1 .瞬时状态:通过session的save ()和saveOrUpdate ()方法可以把一个瞬时对象与数据库相关联, 并把瞬时对象携带的信息通过配置文件所做的映射插入到数据库中,这个瞬时对象就成了持久化对象,拥有和数据库记录相同的id标示瞬时对象的特点是:(1)不和S

7、ession实例关联(2)在数据库中没有和瞬时对象关联的记录2 .持久化状态持久对象总是与 Session和Transaction相关联,在一个 Session中,对持久对象的改变 不会马上对数据库进行变更,而必须在Transaction终止,也就是执行 commit ()之后,才在数据库中真正运行 SQL进行变更,持久对象的状态才会与数据库进行同步使用find () , get 0 , load ()和iterater ()等方法查询到得数据对象,都是持久化 对象;如果一个瞬时对象被持久对象引用,则该对象也会自动变为持久对象。如果使用delete ()方法,它就会变为瞬时对象;当一个 Ses

8、sion执行close ()或 clear ()、evict ()之后,持久对象就会变为托管对象。持久对象的特点:(1)和Session实例关联(2)在数据库中有和持久对象关联的记录Ajax功能异步交互、动态更新 web页面(数据验证、按需取数据、自动更新页面)无刷新机制spring bean作用域有以下5个singleton:单例模式,当spring创建applicationContext容器的日候,spring会初始化所有 的该作用域实例,加上lazy-init就可以避免预处理;prototype :原型模式,每次通过getBean获取该bean就会新产生一个实例,创建后spring 将不

9、再对其管理;=下面是在web项目下才用到的request:每次请求都新产生一个实例,和 prototype不同就是创建后,接下来的管理,spring依然在监听session每次会话,同上global session:全局的 web 域, 类似于 servlet 中的 applicationSpring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件 一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是BeanFactory接口,它是工厂设计模式的实现,允许通过名称创建和检索对象。B

10、eanFactory也可以管理对象之间的关系。BeanFactory支持两个对象模型。口单态模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton是默认的也是最常用的对象模型。对于无状态服务对象很理想。口原型 模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原 型模型最适合。bean工厂的概念是 Spring作为IOC容器的基础。IOC将处理事情的责任从应用程序 代码转移到框架。正如我将在下一个示例中演示的那样,Spring框架使用JavaBean属性和配置数据来指出必须设置的依赖关系。BeanFactory 接口因为 org.springfra

11、mework.beans.factory.BeanFactory 是个简单接口,所以可以针对各 种底层存储方法实现。最常用的BeanFactory定义是XmlBeanFactory ,它根据 XML文件中的定义装入 bean,如1#单1所示。清单 1. XmlBeanFactoryBeanFactory factory = new XMLBeanFactory(new FileInputSteam(mybean.xml);在XML文件中定义的 Bean是被消极加载的,这意味在需要bean之前,bean本身不会被初始化。要从BeanFactory检索bean,只需调用getBean()方法,传入将要检索的bean的名称即可,如清单 2所示。清单 2. getBean()MyBean mybean = (MyBean) factory.getBean(mybean);每个bean的定义都可以是POJO (用类名和 JavaBean初始化属性定义)或FactoryBean。FactoryBean接口为使用 Spring框

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论