绝缘材料
Struts2+Hibernate4+Spring4的开发环境主要指的是使用Spring的IoC来控制Struts2中的Action和Hibernate的SessionFactory,因此搭建的两个方面分别是Spring管理Struts和Spring管理Hibernate。Spring管理Struts的时候我们需要一个struts2-spring-plugin包,有了这个包,struts.xml中
由于course project需要,我最近看了一下Mahout的推荐实现。最初看到的是这篇文章。里面的代码毫无问题,不过引包的时候错误重重。因此重新写一下,希望能帮助到有同样问题的同学。废话不多说,上代码:public static void main(String[] args) throws Exception {
HQL是Hibernate的面向对象的查询语句。使用HQL,首先要得到session对象,然后编写HQL,以HQL语句为参数调用session的createQuery方法创建查询对象。如果HQL包含参数,则调用Query的set方法为参数赋值。调用Query对象的list或者uniqueResult方法返回查询结果列表(持久化实体集)。
Hibernate中的继承指的是实体类之间的继承。能够继承属性。本例中书中使用了Person、Customer、Manager和Employee这四个实体类来距离。其中Person衍生出了Customer和Employee,而Employee又衍生出了Employee,所以说Employee的属性是最多的。除此之外,Person还有一个组件属性Address。Customer与Employee是N
占坑
双向1-N关联对于1-N关联,Hibernate推荐使用双向关联,而且不要让1的一端控制关联关系,而使用N端控制。双向的1-N关联与N-1关联完全相同,两端都需要增加对关联属性的访问,N的一端增加引用到关联实体的属性,1的一端增加集合属性,集合元素为关联实体。无连接表的双向1-N关联N端使用@ManyToOne来修饰代表关联实体的属性,1端使用OneToMany来修饰。由于不希望1端控制关联关系,
之前我们接触的,都是独立的持久化类,最多也就是某一个集合作为属性,或者集合里面套集合,或者自定义一个组件作为属性。实际上很少有完全独立的对象,对象间往往需要互相访问。这种相互的联系我们成为关联关系。单向N-1关联这种关联关系非常常见,比如说多个人对应同一个住址,我们只需要通过人找地址,而不需要去找某个地址都有哪几个人。为了让两个持久化类支持这种映射关系,我们需要在N添加一个属性,引用1端的关联实体
当持久化的属性并不是基本数据类型,也不是字符串,日期等变量,而是一个复杂类型的对象,这个对象就称为组件属性。在持久化过程中,它仅仅被当做值类型,而并非引用另一个持久化类实体。组件属性的类型可以是任意的自定义类。@Entity @Table(name="persona_inf") public class PersonA { @Id @Column(name
映射集合属性集合属性也非常常见,例如每个人的考试成绩是一个典型的Map结构。集合属性份两种,一种是单纯的集合,例如LIst、Set或者数组。另一种是Map结构的集合属性,每个属性值都有对应的key映射。Hibernate要求持久化集合值字段必须声明为接口,这是因为当程序持久化某个实例时,Hibernate会自动把程序中的集合实现类替换成Hibernate自己的集合实现类。两个持久化对象不能共享同一
启动Spring容器对于使用Spring的Web应用,我们无需手动创建Spring容器,而是通过配置文件声明式地创建,所以我们需要在web.xml中配置一下,借助ServletContextListener监听器来完成。该监听器嫩巩固在Web应用启动的时候回调自定义方法,该方法能够可以启动Spring容器。Spring提供了一个ContextLoaderListener,该监听器实现了Servle
Spring3.1新增了一种缓存机制,这种缓存机制与Spring容器无缝结合在一起,可以对容器中的任意bean或bean的方法增加缓存。Spring的缓存级别更高,可以在控制器组件或业务逻辑组件级别进行缓存,这样应用完全无需重复调用底层的DAO。启动Spring缓存xml中有一个cache命名空间专门用来配置缓存。启动缓存需要在xml中添加如下一行:<cache:annotation-dri
AOP能够横向地看待程序,将与逻辑无关的功能,比如说日志,事物等从代码中抽离出来。使用AspectJ实现AOP安装Aspect,配置好环境变量后,用记事本写一个类:public class HelloWorld { public void sayHello(){ System.out.println("Hello AspectJ!"
Listener可以用来监听不同的web事件。使用Listener,首先要有Listener实现类,然后要在web.xml中配置Listener(或者通过注解)。常用的Web事件监听器接口如下:ServletContextListener:监听web应用的启动和关闭ServletContextListener:监听ServletContext范围(application)内容属性的改变Servle
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号