-
spring 2.5 aop做切面的问题5
遇到个问题:
spring 2.5 aop做切面的时候 在 junit 下测试没问题, 到web 下面 相同的方法就切不上了... 有人知道是什么原因么?配置如下:
<bean id="logInterceptor" class="lzn.aoptest.LogInterceptor"></bean> <aop:config> <aop:pointcut id="aoptest" expression="execution(public * cn.ehoo.mre.base.service.impl.*.*(..))" /> <aop:advisor pointcut-ref="aoptest" advice-ref="logInterceptor" /> </aop:config>
问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div">1.0 如果有异常你可以贴一下哦! <br />2.0 execution(public * cn.ehoo.mre.base.service.impl.*.*(..)) <br /> 这个范围太小了!所以看下你测试的类是不是这个范围里面! <br /> impl 包下的 类里面的所有方法! <br /> <br />3.0 如果仅为测试 建议写成: <br /> execution(public * cn.ehoo.mre.base.service<span style="color: red">..</span>*.*(..)) <br /></div> <br />没有异常,, 就是没反映....
问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div"><div class="quote_title">引用</div><div class="quote_div">execution(public * cn.ehoo.mre.base.service..*.*(..)) </div> <br />试试结果咋样? </div> <br />依然不行.. 这个早就试过了... 奇怪的无论怎么配置 在 web 环境下 都没反映,也不报异常..... <br />junit下测试却完全没问题
问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div"><pre name="code" class="java"> <!-- spring 集合 aspectj 实现 aop -->
<aop:aspectj-autoproxy proxy-target-class="true"/></pre> <br /> <br /> <br />这句有没?</div> <br />加上了 还是不行....
问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div">把日志级别调低点! <br />检查下吧 !AOP 我们用到的就那么几个知识点! <br />可能是你某个细节的问题! <br />如果是测试项目的话 你就直接发我 邮箱吧! <br />我帮你搞定! jspp@qq.com</div> <br /> <br />唉,, 自己弄的测试项目什么问题都没有... 一到公司的正式项目上就不行...纠结啊.. 怎么就能没反映呢.???
问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div"> execution(public * cn.ehoo.mre.base.service.impl.*.*(..)) <br /> 你把这个路劲写 死! <br /> 比如 写具体 <br /> execution(public * cn.ehoo.mre.base.service.impl.USerImpl.save(..)) <br />然后测试这个方法! </div> <br /> <br />依然不行....到jsp 页面 web下访问就是没反映,;, junit 怎么测都好使...
问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div"><pre name="code" class="java">
依然不行....到jsp 页面 web下访问就是没反映,;, junit 怎么测都好使... </pre> <br /> <br />最后一种可能 你的对象不是从spring 管理容器中取的?<img src="/images/smiles/icon_wink.gif"/> <br />直接 new 的?</div> <br /> <br /> <br />搞定了 , 分给你, <br />主要原因是 spring-mvc.xml 里面对 controller 扫描的时候 覆盖了 对service的扫描,事物跟AOP 都不好使了.. <br /> <br />扫描的路径改下就OK了,,2012年3月01日 12:51
7个答案 按时间排序 按投票排序
-
采纳的答案
依然不行....到jsp 页面 web下访问就是没反映,;, junit 怎么测都好使...
最后一种可能 你的对象不是从spring 管理容器中取的?
直接 new 的?2012年3月02日 09:11
-
execution(public * cn.ehoo.mre.base.service.impl.*.*(..))
你把这个路劲写 死!
比如 写具体
execution(public * cn.ehoo.mre.base.service.impl.USerImpl.save(..))
然后测试这个方法!2012年3月01日 13:40
-
把日志级别调低点!
检查下吧 !AOP 我们用到的就那么几个知识点!
可能是你某个细节的问题!
如果是测试项目的话 你就直接发我 邮箱吧!
我帮你搞定! jspp@qq.com2012年3月01日 13:32
-
<!-- spring 集合 aspectj 实现 aop --> <aop:aspectj-autoproxy proxy-target-class="true"/>
这句有没?2012年3月01日 13:19
-
引用execution(public * cn.ehoo.mre.base.service..*.*(..))
试试结果咋样?2012年3月01日 13:14
-
1.0 如果有异常你可以贴一下哦!
2.0 execution(public * cn.ehoo.mre.base.service.impl.*.*(..))
这个范围太小了!所以看下你测试的类是不是这个范围里面!
impl 包下的 类里面的所有方法!
3.0 如果仅为测试 建议写成:
execution(public * cn.ehoo.mre.base.service..*.*(..))2012年3月01日 13:08
相关推荐
Spring 2.5 AOP(面向切面编程)是Java应用程序中的一个重要概念,它允许开发者在不修改原有代码的情况下插入新的行为或监控。这个例子旨在帮助我们理解和应用Spring框架的AOP特性。以下是对该主题的详细解释: 一...
这个"spring2.5AOPdemo详细资料"很可能是针对Spring 2.5版本的一个AOP实战示例,帮助开发者了解并掌握AOP的概念、原理以及在实际开发中的应用。 AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点(Join ...
在Spring 2.5版本中,面向切面编程(AOP)是一个强大的功能,它允许开发者定义“切面”来封装横切关注点,如日志、事务管理、权限检查等,使得代码更加模块化和可重用。AspectJ是一个成熟的AOP框架,Spring在其AOP...
Spring是Java企业级应用开发中最受欢迎的框架之一,它以其轻量级、模块化的设计,以及对IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)的强大支持,赢得了广大开发者的...
AOP通过定义切面、通知(advice)和连接点(join point)来实现代码的模块化,使得核心业务逻辑与辅助功能分离,降低了代码的复杂性。 **Spring MVC** Spring MVC是Spring框架的一部分,提供了一种用于构建Web应用...
Spring 2.5以后,引入了注解驱动的AOP,这极大地简化了切面的定义和使用。开发者可以在方法上直接使用`@Aspect`、`@Before`、`@After`、`@Around`等注解,声明切点和通知。这种方式既保留了Spring的简洁性,又具备...
Spring 2.5增加了对注解驱动的切面的支持,`@Aspect`、`@Before`、`@After`等注解使得AOP的使用更加直观。 4. **Bean工厂与ApplicationContext**: Spring 2.5中的Bean工厂是容器的基础,而ApplicationContext是更...
2. **AOP(面向切面编程)**:Spring 2.5支持更强大的AOP功能,允许开发者定义和执行横切关注点,如日志、事务管理等,这些关注点可以独立于业务逻辑进行处理。 3. **XML配置增强**:在Spring 2.5中,XML配置文件...
3. **AOP增强**:Spring的面向切面编程(AOP)在2.5版本中也有所改进,新增了`@Aspect`注解,允许开发者直接在类级别定义切面。此外,还支持了注解驱动的通知,如`@Before`、`@After`、`@Around`和`@AfterThrowing`。 ...
在Spring 2.5版本中,AOP(面向切面编程)是其核心特性之一,为开发者提供了优雅地处理横切关注点的能力。本文将围绕"spring_2.5_aop_lib.zip"这个压缩包中的相关库进行深入探讨,了解它们如何协同工作,以实现AOP的...
在Spring 2.5中,AOP支持更灵活的切入点表达式和更多类型的切面,如注解驱动的切面,这使得AOP更加易用和强大。 3. **Beans包**:这是Spring框架的基础,包含Bean的定义、实例化、配置和管理。在Spring 2.5中,对...
Spring框架的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP)以及模型-视图-控制器(Model-View-Controller,MVC)架构模式。在Spring 2.5中,这些主要功能...
通过阅读《Spring2.5-中文参考手册.chm》这份文档,开发者可以深入了解Spring 2.5的各种特性和用法,解决实际开发中遇到的问题,提升开发效率。文档不仅包含详细的API参考,还包含丰富的示例和最佳实践指导,是学习...
Spring2.5是一个全面的后端应用管理框架,提供了依赖注入、AOP(面向切面编程)、数据访问等服务;Hibernate3.2则是一个对象关系映射(ORM)工具,简化了数据库操作。 首先,Struts1.2框架的核心是ActionServlet,...
2. **AOP(Aspect-Oriented Programming)**:Spring 提供了面向切面编程的支持,允许开发者定义“切面”,这些切面可以跨越多个类的多个方法,实现如日志、事务管理等通用功能。@Aspect 和 @Before、@After、@...
3. **AOP(Aspect-Oriented Programming,面向切面编程)**:在Spring 2.5中,AOP支持更加丰富,包括注解式切面定义,如`@Before`、`@After`、`@Around`等,以及基于注解的切入点表达式,让切面的定义更加直观。...
2. **AOP增强**:Spring 2.5引入了对AspectJ的全面支持,包括编译时和运行时的切面织入。这使得AOP的使用更加灵活,可以更方便地定义切面和通知。 3. **Bean工厂和应用上下文**:Spring 2.5对Bean工厂和应用上下文...
3. **AOP增强**:在2.5版本中,AOP支持更加丰富,可以使用注解定义切面,如`@Before`、`@After`、`@Around`等,以及`@Aspect`注解用于声明切面类。 4. **数据访问集成**:Spring 2.5增强了对各种数据访问技术的支持...
Spring2.5是全面的企业级应用框架,它不仅包含IoC(Inversion of Control,控制反转)容器,用于管理对象的生命周期和依赖关系,还提供了AOP(Aspect-Oriented Programming,面向切面编程)功能,实现了对横切关注点...