今天发现 使用Spring AOP 拦截 所有 Struts2 Action 写日志的代码出现奇怪问题。
只要 Action 返回 类型为 重定向 时,在 AOP 中实现的 hibernate 数据库操作 不会提交数据库,控制台显示 数据库语句 一切正常,应该是 Spring 管理的事务没有提交所致,但是 引起不提交的问题 根源是 Action 返回 试图为重定向。 目前还没有想到从哪着手解决
弄了一整天 终于把这个问题给解决了。
起初一直吧问题关注点 放在了 Action Result 问题上,之后有对 事务切面与日志切面 的切入顺序产生了怀疑。 最终问题原因是: 业务方法 与 切面方法 写在了一个类里导致的问题。
正确的使用切面,需要单独为切面写实现类 然后 在切面实现类中 调用 支持事务的业务方法。
分享到:
相关推荐
3. **Spring框架**:Spring是Java企业级应用的核心框架,提供依赖注入(DI)和面向切面编程(AOP)等功能,增强了代码的灵活性和解耦性。在论坛系统中,Spring作为整个应用的“胶水”,将Struts 2、Hibernate以及...
接着,`Spring`框架作为依赖注入(DI)和面向切面编程(AOP)的平台,提供服务层和事务管理。核心jar包有`spring-context.jar`,它包含了Spring的核心功能,`spring-webmvc.jar`适用于Web应用,以及`spring-orm.jar`...
- **Spring核心容器**:详细介绍BeanFactory和ApplicationContext接口的作用,以及依赖注入(DI)和面向切面编程(AOP)的实现原理。 - **Spring MVC**:学习Spring MVC的工作机制,包括控制器(Controller)、模型...
Spring框架是一个全面的后端应用管理框架,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等核心特性,使得代码更加模块化和易于测试。Spring还包含了许多其他...
它们各自负责不同的职责:Struts2用于控制应用程序的流程,Hibernate3则是优秀的对象关系映射(ORM)框架,Spring则提供全面的依赖注入(DI)和面向切面编程(AOP)功能,以及事务管理等企业级服务。将这三个框架...
Spring框架是一个全面的后端开发解决方案,它提供了一个容器来管理对象的生命周期和依赖关系,同时提供了面向切面编程(AOP)的能力。Spring的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,...
**Spring**:Spring框架是Java企业级应用的核心框架,它提供了依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问集成等众多功能。Spring还包含Spring MVC,一个用于构建Web应用程序的模块,可以与Struts2...
- 利用Spring的AOP(面向切面编程)特性,可以方便地添加如事务管理、日志记录等功能到Struts Action中,而无需修改Action本身的代码。 #### 二、Spring管理Hibernate 接下来我们来看如何让Spring管理Hibernate,...
**Spring** 是一个全面的企业级应用开发框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问/集成、MVC等众多功能。Spring的核心配置文件通常为`applicationContext.xml`,在这里可以声明和管理...
**Spring** 是一个全面的企业级应用框架,它包含了AOP(面向切面编程)、DI(依赖注入)等核心特性,以及对其他框架如Struts、Hibernate的集成支持。Spring的IoC容器管理对象的生命周期和依赖关系,使得应用更易于...
**Spring2** 是一个全面的后端应用程序框架,提供依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。Spring的核心JAR包包括: 1. `spring-beans.jar`:包含Bean工厂和bean定义相关的类。 2. `spring-context....
Spring框架则提供了依赖注入、面向切面编程(AOP)以及事务管理等功能。在整合中,Spring管理Struts2的Action和Hibernate的SessionFactory,通过配置文件(如applicationContext.xml)进行实例化和配置。此外,...
**Spring3** 是一个全面的后端应用框架,提供了依赖注入(DI)和面向切面编程(AOP)功能,有助于简化Java应用的复杂性。Spring的IoC容器负责管理对象的生命周期和依赖关系。同时,Spring还包含了对数据访问(如JDBC...
Spring框架则是一个全面的企业级应用开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,有助于减少代码间的耦合。在Java Web应用中,Spring可以作为容器管理Bean,包括Struts2的Action和Hibernate的...
Spring3则是一个全面的企业级应用框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,简化了对象之间的依赖关系管理。Spring还包含了Spring MVC,可以与Struts2一起工作,形成双层MVC架构,增强应用的可维护...
在“lib”目录下的jar文件包含了SSH框架本身及其依赖的库,如Struts2的核心库、Hibernate的JPA和JDBC驱动、Spring的核心和AOP库,以及其他如log4j、commons-lang3等通用工具库。这些jar包是SSH整合项目运行的基础,...
Spring框架则是一个全面的企业级应用框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性。Spring3版本引入了许多改进,包括对JSR-303/JSR-349 Bean Validation的支持,改进了Web MVC,以及增强了对...
在Java开发领域,SSH(Spring、Struts2、Hibernate)是一个经典的开源框架组合,用于构建高效、可维护的企业级Web应用程序。这些框架分别负责不同层面的任务:Spring作为基础架构框架,提供依赖注入和AOP(面向切面...
Spring是一个全面的后端应用框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)以及大量的工具类和集成支持。Struts则是一个用于构建基于J2EE Web应用的MVC框架,它简化了模型与视图的交互。...