这种方式是基于注解的配置方式
<!-- 开启注解和扫描指定包下面的注解类 -->
<context:component-scan base-package="org.companyname.myprj"/>
<!-- HibernateTemplate模板 -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 非注解事务的配置-->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<aop:config>
<aop:pointcut expression="execution(* org.companyname.myprj.services..*.*(..))" id="transactionPointcut" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes>
<tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED" />
<tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<!—基于注解的配置就不在Spring的配置文件中配置业务模块-->
持久类
@Repository(“daoTemplate”)
public class DaoTemplate impletements IdaoTemplate{
@Resource(name=”hibernateTemplate”)
private HibernateTemplate hibernateTemplate=null;
//codes here..
}
业务类
@Service(“UsersBiz”)
public class UsersService implements IusersService{
@Resource(name=”daoTemplate”)
private IdaoTemplate daoTemplate=null;
//codes here..
}