在项目Service层 用spring的代理封装了事务配置后注入到Action进去准备用发现注入的不是包装过后代理的代理类,变成了普通Sercvice类了测试发现、Service层的事务是封装成功的,并能正确作用。在Action中,如果不用注入的方式使用,而是利用上下文去把这个封装的事务bean取出来,也能正确使用。。。不过。。感觉这样相当的挫。。咋个注入的方式就不行呢。。
问题补充://Service层封装的事务
<bean id="ServicetransactionBase" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true">
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="goodsrServiceimplTarget" parent="ServicetransactionBase" >
<property name="target">
<ref bean="goodsrService"/>
</property>
</bean>
//Service层的bean
<bean id="goodsrService" class="cn.cqctlq.lqdc.service.impl.GoodsrServiceImpl" >
<property name="goodsrDao" ref="goodsrdaoimplTarget"></property>
<property name="checkInoutDao" ref="checkinoutdaoimplTarget"></property>
<property name="positionDao" ref="positiondaoimplTarget"></property>
<property name="companyDao" ref="companydaoimplTarget"></property>
<property name="associatecompanyDao" ref="associatecompanydaoimplTarget"></property>
</bean>
//Action层的、注入封装过后的goodsrServiceimplTarget
<bean id="GoodsrAction"
class="cn.cqctlq.lqdc.web.action.GoodsrAction">
<property name="goodsr">
<ref bean="Goodsr"/>
</property>
<property name="goodsrService">
<ref bean="goodsrServiceimplTarget" />
</property>
<property name="associatecompanyService">
<ref bean="associatecompanyService" />
</property>
</bean>
相关推荐
通常,Action层会调用Service层来执行具体的业务操作,并将结果返回给前端。在Struts2框架中,Action类就是这样的角色,它封装了用户请求,并转发给相应的Service进行处理。 2. **DAO层(数据访问层)**: DAO层是...
- **Action**:接收请求并调用Service层进行处理。 5. **整合测试**:完成各层的编码后,需要进行综合测试以确保所有部分都能正常工作。这包括单元测试、集成测试等。 #### 四、总结 Spring框架的强大之处在于它...
4. **Service层**:Service层是业务逻辑层,它封装了具体的业务规则和流程,是DAO层和Servlet之间的桥梁。Service层会调用DAO层的方法来执行数据库操作,并处理可能出现的异常。例如,当用户请求删除一个记录时,...
Service层是业务逻辑处理的核心,负责封装数据访问层(Dao)的操作,以提供给控制层(Action)调用。在本例中,我们首先完善了`CategoryService`接口,定义了基本的CRUD方法,包括`save()`、`update()`、`delete()`...
在“service_dao”标签中,Service层是业务逻辑的封装,负责处理复杂的业务规则和事务管理。它通常调用DAO层来与数据库交互。DAO接口定义了数据库操作,而其实现类则使用Hibernate等ORM(对象关系映射)工具来完成...
描述中提到的"action调用service",表明Action会调用由Spring管理的Service对象来执行具体的业务逻辑。 **Service** 层是业务逻辑层,它封装了应用程序的核心业务功能。Service通常会依赖于DAO来与数据库进行交互,...
通常,我们会在DAO(数据访问对象)层进行这些封装,将数据库的CRUD(创建、读取、更新、删除)操作隔离,以便服务层(Service)可以方便地调用。 1. **DAO设计**: - DAO接口定义了所有对数据库的操作,例如`save...
5. **整合工作**:在Struts2的Action中注入由Spring管理的Service,Service中再注入由Spring管理的DAO,这样Action就可以间接地调用到Hibernate的持久化操作。 6. **测试**:编写JUnit测试用例,验证SSH整合是否...
Action层调用Service层结束会话,清理用户信息。 总结来说,注册、登录和注销是Web应用的基本需求,它们涉及到前端界面设计、后端业务逻辑实现、数据库操作以及会话管理等多个方面。通过理解DAO模式、Hibernate、...
服务层的职责是对业务逻辑进行封装,提供统一的接口供控制器调用。 ```java @Service public class AccountService { @Autowired private AccountRepository accountRepository; public List<Account> ...
Service层可以调用DAO(数据访问对象)层来操作数据。 - **数据访问层(Data Access Layer)**:Hibernate在此层中工作,处理数据库的交互,如数据的增删改查。DAO层封装了数据库操作,使业务逻辑层与数据库细节...
### SOAP规范Web Service调用详解 #### 一、SOAP简介 **SOAP**(Simple Object Access Protocol)是一种基于XML的标准协议,用于在分布式环境中交换结构化的信息。它定义了一种消息格式,使得不同应用之间可以通过...
6. **Service层**:作为业务逻辑的核心,可能会使用Spring的注解进行事务管理。 7. **DAO层**:与数据库交互,使用Hibernate的API进行CRUD操作。 8. **视图层**:可能包含JSP页面,展示了如何接收Struts2传递的数据...
service 为 action 提供统计的调用接口,封装持久层的 DAO. 2 .可以写一些自己的业务方法。 3 .统一的 javabean 管理方法 4 .声明式事务管理 5. 集成 Hiberante 3 ) Hiberante ,负责持久化层,完成数据库...
Service层封装了DAO(Data Access Object),提供业务接口给Action调用,同时Spring还支持声明式事务管理,确保了业务操作的一致性。此外,Spring还包含了AOP(面向切面编程)机制,用于事务控制和其他横切关注点,...
- 增删改查:Service层封装了数据库操作,如登录验证,调用DAO的query方法获取数据,对比用户名和密码,最后返回结果给Action。 - 事务管理:Spring的AOP模块用于管理Service层的事务,确保数据的一致性。 3. ...
此外,为了优化性能和提高可维护性,可以考虑使用Spring框架集成CXF,将Web服务调用封装为一个服务层。Spring提供了方便的CXF客户端支持,可以更方便地管理Web服务的生命周期和事务控制。 总结起来,Java调用.NET ...
在业务层,Spring提供了Service(或Manager)接口,Action通过依赖注入获取Service实例,从而调用业务方法。Spring还封装了DAO(Data Access Object)层,使得Service可以调用DAO来操作数据。此外,Spring还支持声明...
传统的SSH项目实现中,Dao层调用Hibernate操作数据库,Service层new Dao对象并调用其方法,Action层new Service对象并调用Service方法。 5. Spring的IoC管理 Spring的核心是IoC,通过配置文件管理对象,避免手动...
在"ldap组织机构同步"场景下,Action层可能包含用户同步的触发逻辑,如定时任务、按钮点击事件等,它们会调用Service层的方法执行实际的同步操作。 5. **Service层** Service层是业务逻辑的中心,它封装了与LDAP...