摘要: 1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现: Java代码 publicclassUserManagerImplimplementsUserManager{ privateUserDaouserDao; publicvoidsetUserDao(UserDaouserDao){ this.userDao=userDao; } ... }配置文件: Java代码 <beanid="userManagerImpl"class="com.kedacom.spring.annotation.service.UserMa 阅读全文
posted @ 2012-09-04 22:56 积淀 阅读(1506) 评论(0) 推荐(0) 编辑
摘要: 良好的开端是成功的一半,项目启动会议是一个项目的开始,因此其对于项目的顺利开展非常重要。我们知道,项目启动会议一般由项目经理负责组织和召开。然而,有不少项目经理对项目启动会议不重视、走过场,或虽然知道其重要但不知道如何才能将其开好。 (一) 项目内部启动会议 项目内部启动会议指在项目承建方内部召开的会议。 1、目的 会议的目的是让项目团队成员对该项目的整体情况(包括项目的建设背景、项目总体规划及项目团队成员等信息)和各自的工作职责有一个清晰的认识和了解,为日后协同开展工作作准备;同时获得领导对项目资源的承诺和保障。 2、需要参加会议的人员 根据会议的性质和会议的目的,我们可以知道,需要参加.. 阅读全文
posted @ 2012-09-01 12:36 积淀 阅读(5922) 评论(0) 推荐(1) 编辑
摘要: /*** */package com.b510.example;import java.util.Iterator;import java.util.List;import java.util.Map;import org.hibernate.Criteria;import org.hibernate.FetchMode;import org.hibernate.Query;import org.hibernate.Session;/*** * @author XHW* * @date 2011-6-18* */public class HibernateTest {/** * @param 阅读全文
posted @ 2012-08-14 10:42 积淀 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 采用声明式事务 1、声明式事务配置 * 配置SessionFactory * 配置事务管理器 * 事务的传播特性 * 那些类那些方法使用事务 思考:要把事物加到那些层,把事物加在DAO这一层呢,还是加在业务逻辑处理service这一层?为什么?在service层中配置事物管理。假设在DAO层使用事物: UserDAO中有一个save()方法,用来添加新用户,LogDAO类中也有一个Sava方法,用来在新用户保存之后,添加日子记录。如果你把事务分别加在DAO层的UserDAOImpl和LogDAOImpl的save方法上,LogDAO中的save方法在一个事务里面,UserDAO的save()方 阅读全文
posted @ 2012-08-11 09:53 积淀 阅读(1525) 评论(0) 推荐(3) 编辑
摘要: 配置一个数据源Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。DBCP数据源DBCP类包位于/lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakartacommons-pool对象池机制的数据库连接池,所以在类路径下还必须包括/lib/jakarta-commons/commons-pool.jar。下面是使用DBCP配置MySql数据源的配置片断:xml代码<beanid="dataSource"class 阅读全文
posted @ 2012-08-10 14:00 积淀 阅读(4532) 评论(0) 推荐(1) 编辑
摘要: 1. 理解拦截器1.1. 什么是拦截器:拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。谈到拦截器,还有一个词大家应该知道——拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interce 阅读全文
posted @ 2012-08-09 17:42 积淀 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 一、Spring的事务管理:Spring提供了针对不同持久化机制的事务管理器。(AOP中的切面类,定义了很多通知) 如:hibernate有org.springframework.orm.hibernate3.HibernateTransactionManager二、事务的参数: 1. 事务的传播行为: a) PROPAGATION_REQUIRED:当前方法必须在一个事务中运行。如果一个事务正在运行,该方法将会在那个事务中运行。否则就要开始一个新事务。Spring的TransactionDefinition的默认传播行为。 b) PROPAGATION_SUPPORTS:当前方法不需要事务性 阅读全文
posted @ 2012-08-09 16:43 积淀 阅读(422) 评论(0) 推荐(1) 编辑
摘要: 最近在学习李刚著的《轻量级J2EE企业应用实战》,这本书写得条例清晰,通俗易懂,非常容易上手。在学习过程中,我自己参考该书做了些例子。下面是对Spring的声明式事务管理的总结和示例:通常建议采用声明式事务管理。声明式事务管理的优势非常明显:代码中无需关于关注事务逻辑,不需要修改业务逻辑代码,在业务逻辑中可以专心业务逻辑代码的编写,无需编写大量的事务逻辑代码。让Spring声明式事务管理负责事务逻辑,声明式事务管理无需与具体的事务逻辑耦合,可以方便地在不同事务逻辑之间切换。声明式事务管理的配置方式,通常有如下三种:1.使用TransactionProxyFactoryBean为目标bean生成 阅读全文
posted @ 2012-08-09 16:39 积淀 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 在低版本Spring中定义一个切面是比较麻烦的,需要实现特定的接口,并进行一些较为复杂的配置,低版本Spring AOP的配置是被批评最多的地方。Spring听取这方面的批评声音,并下决心彻底改变这一现状。在Spring2.0中,Spring AOP已经焕然一新,你可以使用@AspectJ注解非常容易的定义一个切面,不需要实现任何的接口。 Spring2.0采用 @AspectJ注解对POJO进行标注,从而定义一个包含切点信息和增强横切逻辑的切面,Spring 2.0可以将这个切面织入到匹配的目标Bean中。@AspectJ注解使用AspectJ切点表达式语法进行切点定义,可以通过切点函数、运 阅读全文
posted @ 2012-08-09 15:31 积淀 阅读(710) 评论(0) 推荐(0) 编辑
摘要: Java反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflecti 阅读全文
posted @ 2012-08-07 18:02 积淀 阅读(392) 评论(0) 推荐(0) 编辑