<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<!-- 配置daoBean -->
<bean id="JdjLxfsDAO" class="com.jdj.dao.impl.JdjLxfsDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="XtwhYhwhAction" class="com.jdj.action.XtwhYhwhAction" scope="prototype">
<property name="xtwhYhwhDAO" ref="XtwhYhwhDAO"></property>
</bean><!-- 定义事务管理器(声明式的事务) -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 事务通知 -->
<tx:advice id="txAdvice">
<tx:attributes>
<!-- 所有以get开头的方法都使用只读事务,使用只读连接,提高性能 -->
<tx:method name="get*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="findOnline" />
<!-- 其它方法使用缺省事务 -->
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<!-- 上述事务通知可以运行在com.demo.service包下所有的接口的所有方法上-->
<aop:config>
<!-- 定义切入点表达式-->
<aop:pointcut id="defaultServiceOperation" expression="execution(* com.jdj.dao.*.*(..))" />
<!-- 事务通知和切入点表达式进行关联-->
<aop:advisor pointcut-ref="defaultServiceOperation"
advice-ref="txAdvice" />
</aop:config>
下面给出一些通用切入点表达式的例子。
任意公共方法的执行:
execution(public * *(..))
任何一个名字以“set”开始的方法的执行:
execution(* set*(..))
AccountService接口定义的任意方法的执行:
execution(* com.xyz.service.AccountService.*(..))
在service包中定义的任意方法的执行:
execution(* com.xyz.service.*.*(..))
在service包或其子包中定义的任意方法的执行:
execution(* com.xyz.service..*.*(..))
分享到:
相关推荐
在SSH整合开发中,利用Spring管理Service、DAO等组件,利用IoC机制实现Action和Service,Service和DAO之间低耦合调用。利用AoP机制实现事务管理、以及共通功能的切入等。 功能是整合,好处是解耦。
整合Struts2、Hibernate和Spring,我们通常会使用Spring的ApplicationContext来管理Bean,包括Action类、Service层和DAO层。Service层作为业务逻辑层,调用DAO层的方法进行数据操作。而DAO层通过泛型接口和实现类,...
《Spring in Action 第5版》是关于Spring框架的一本权威指南,由Manning出版社出版,主要聚焦于Spring框架的最新版本及其在实际开发中的应用。"Spring Action"这个标签突出了本书的核心内容,即如何实战操作Spring...
Spring框架是Java企业级应用开发中的主流框架,它以其模块化、松耦合的设计理念,极大地简化了复杂的企业级应用构建。在Spring 3.x版本中,引入了许多新的特性,如:基于注解的配置、AOP(面向切面编程)的增强、对...
在Java Web开发中,"jsp、servlet进行增删改查,dao层和service层分开"是一种常见的设计模式,它遵循了MVC(Model-View-Controller)架构,旨在提高代码的可维护性和可扩展性。以下是这个模式的详细解释: 1. **...
在Spring框架中,Service层的实例可以通过依赖注入(DI)获取,使得代码更加松耦合,易于测试。"service调用dao",说明Service会调用DAO来进行数据的增删查改操作。 **Model** 通常指的是Java实体Bean,它代表了...
6. **数据访问**:Spring支持多种数据访问技术,如JDBC、ORM(Hibernate、MyBatis)以及NoSQL数据库,提供了数据访问对象(DAO)和模板类,简化了数据库操作。 7. **Spring Security**:Spring Security是一个强大...
1. **依赖注入**:这是Spring最著名的特性之一,允许组件之间松耦合。在SpringInAction3RdCode中,你可以看到如何通过XML配置或注解方式实现DI,例如`@Autowired`、`@Qualifier`等。 2. **面向切面编程**:AOP是...
1. **依赖注入**:Spring可以自动注入Action所需的服务,如DAO、Service等,降低了Action的复杂性。 2. **更好的测试性**:Action可以被设计为无状态,方便进行单元测试。 3. **解耦合**:Action的创建和管理由...
书中详细阐述了如何在Spring中创建和配置服务层(Service Layer)以及数据访问对象(DAO)。对于服务层,作者演示了如何利用Spring的依赖注入(Dependency Injection,DI)实现松耦合和可测试性。在DAO层面,书中...
Spring容器管理对象的生命周期和依赖关系,使得代码更加松耦合。Spring还提供了数据访问抽象,包括JDBC模板和ORM(Object-Relational Mapping)支持,如Hibernate。此外,Spring MVC是Spring框架的一部分,也是一个...
标题“Spring in Action英文版”和描述“Spring in Action”是该书的主体,它由Craig Walls和Ryan Breidenbach著作,旨在介绍Spring框架的核心概念和实用技巧。这本书分为三个部分,分别是Spring的基础、业务层的...
通过Spring的DAO(Data Access Object)支持,开发者可以编写简洁、统一的数据访问代码,同时利用Spring的异常转换机制,将常见的数据库异常转换为一致的Spring异常,大大降低了异常处理的复杂度。 ### 事务管理 ...
- **ORM 支持**:Spring 支持多种 ORM 工具,如 Hibernate、MyBatis 等,提供了 DAO 支持层,使得 ORM 工具的使用更加简单。 #### 六、Web 开发 - **Spring MVC**:Spring MVC 是 Spring 框架中的一个模块,专门...
同时,Spring可以注入Action所需的其他服务,如DAO、Service等,使得整个应用的结构更加清晰。 **配置Struts2与Spring:** 1. 引入Struts2和Spring的相关库。 2. 配置Struts2的struts.xml,定义Action的类和映射...
《Spring in Action》是Manning出版社出版的Spring框架权威指南,第五版全面涵盖了Spring框架的最新发展和技术。这本书深入浅出地介绍了如何使用Spring进行实际的Java开发,旨在帮助开发者充分利用Spring的强大功能...
- 集成Struts与Spring:使用Spring的Struts2插件,将Spring的依赖注入功能引入到Struts中,比如在Action类中声明需要依赖的Service,Spring会自动注入。 - 集成Spring与Hibernate:通过Spring的...
接着,书中会详细讲解如何使用Spring进行依赖注入,通过XML配置文件或注解方式实现,使得代码更加松耦合,易于测试和维护。 面向切面编程(AOP)是Spring的一个独特功能,允许开发者将关注点分离,如日志、事务管理...
3. **Struts与Spring集成**:将Struts与Spring集成,可以利用Spring的强大功能来管理Struts中的Action和Service。通过Spring的ApplicationContext,Action和Service可以被声明式地注入,从而实现依赖管理。同时,...