0 0

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 />&nbsp;&nbsp;&nbsp; 这个范围太小了!所以看下你测试的类是不是这个范围里面! <br />&nbsp;&nbsp;&nbsp;&nbsp; impl 包下的 类里面的所有方法! <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />3.0 如果仅为测试 建议写成: <br />&nbsp;&nbsp; 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 />试试结果咋样?&nbsp; </div> <br />依然不行.. 这个早就试过了... 奇怪的无论怎么配置 在 web 环境下 都没反映,也不报异常..... <br />junit下测试却完全没问题

问题补充:<div class="quote_title">7454103 写道</div><div class="quote_div"><pre name="code" class="java">    &lt;!-- spring 集合 aspectj  实现 aop  --&gt;
    &lt;aop:aspectj-autoproxy proxy-target-class="true"/&gt;</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 />&nbsp; 你把这个路劲写 死! <br />&nbsp; 比如 写具体 <br /> execution(public * cn.ehoo.mre.base.service.impl.USerImpl.save(..)) <br />然后测试这个方法! </div> <br /> <br />依然不行....到jsp 页面&nbsp; 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个答案 按时间排序 按投票排序

0 0

采纳的答案

依然不行....到jsp 页面  web下访问就是没反映,;, junit 怎么测都好使... 


最后一种可能 你的对象不是从spring 管理容器中取的?
直接 new 的?

2012年3月02日 09:11
0 0

这个应该不是spring的原因吧,你可以测试下看数据能不能到达action这一层。然后再去调试

2012年3月03日 16:36
0 0

execution(public * cn.ehoo.mre.base.service.impl.*.*(..))
  你把这个路劲写 死!
  比如 写具体
execution(public * cn.ehoo.mre.base.service.impl.USerImpl.save(..))
然后测试这个方法!

2012年3月01日 13:40
0 0

把日志级别调低点!
检查下吧 !AOP 我们用到的就那么几个知识点!
可能是你某个细节的问题!
如果是测试项目的话 你就直接发我 邮箱吧!
我帮你搞定! jspp@qq.com

2012年3月01日 13:32
0 0

    <!-- spring 集合 aspectj  实现 aop  -->
    <aop:aspectj-autoproxy proxy-target-class="true"/>



这句有没?

2012年3月01日 13:19
0 0

引用
execution(public * cn.ehoo.mre.base.service..*.*(..))

试试结果咋样? 

2012年3月01日 13:14
0 0

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 例子

    Spring 2.5 AOP(面向切面编程)是Java应用程序中的一个重要概念,它允许开发者在不修改原有代码的情况下插入新的行为或监控。这个例子旨在帮助我们理解和应用Spring框架的AOP特性。以下是对该主题的详细解释: 一...

    spring2.5AOPdemo详细资料

    这个"spring2.5AOPdemo详细资料"很可能是针对Spring 2.5版本的一个AOP实战示例,帮助开发者了解并掌握AOP的概念、原理以及在实际开发中的应用。 AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点(Join ...

    Spring2.5使用AOP需要的aspectJ

    在Spring 2.5版本中,面向切面编程(AOP)是一个强大的功能,它允许开发者定义“切面”来封装横切关注点,如日志、事务管理、权限检查等,使得代码更加模块化和可重用。AspectJ是一个成熟的AOP框架,Spring在其AOP...

    精通Spring2.5pdf书籍proSpring2.5

    Spring是Java企业级应用开发中最受欢迎的框架之一,它以其轻量级、模块化的设计,以及对IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)的强大支持,赢得了广大开发者的...

    Spring2.5-中文参考手册chm

    AOP通过定义切面、通知(advice)和连接点(join point)来实现代码的模块化,使得核心业务逻辑与辅助功能分离,降低了代码的复杂性。 **Spring MVC** Spring MVC是Spring框架的一部分,提供了一种用于构建Web应用...

    Spring AOP面向切面三种实现

    Spring 2.5以后,引入了注解驱动的AOP,这极大地简化了切面的定义和使用。开发者可以在方法上直接使用`@Aspect`、`@Before`、`@After`、`@Around`等注解,声明切点和通知。这种方式既保留了Spring的简洁性,又具备...

    Spring2.5 源代码

    Spring 2.5增加了对注解驱动的切面的支持,`@Aspect`、`@Before`、`@After`等注解使得AOP的使用更加直观。 4. **Bean工厂与ApplicationContext**: Spring 2.5中的Bean工厂是容器的基础,而ApplicationContext是更...

    spring2.5的所有jar包

    2. **AOP(面向切面编程)**:Spring 2.5支持更强大的AOP功能,允许开发者定义和执行横切关注点,如日志、事务管理等,这些关注点可以独立于业务逻辑进行处理。 3. **XML配置增强**:在Spring 2.5中,XML配置文件...

    spring2.5中文文档

    3. **AOP增强**:Spring的面向切面编程(AOP)在2.5版本中也有所改进,新增了`@Aspect`注解,允许开发者直接在类级别定义切面。此外,还支持了注解驱动的通知,如`@Before`、`@After`、`@Around`和`@AfterThrowing`。 ...

    spring_2.5_aop_lib.zip

    在Spring 2.5版本中,AOP(面向切面编程)是其核心特性之一,为开发者提供了优雅地处理横切关注点的能力。本文将围绕"spring_2.5_aop_lib.zip"这个压缩包中的相关库进行深入探讨,了解它们如何协同工作,以实现AOP的...

    spring 2.5框架图

    在Spring 2.5中,AOP支持更灵活的切入点表达式和更多类型的切面,如注解驱动的切面,这使得AOP更加易用和强大。 3. **Beans包**:这是Spring框架的基础,包含Bean的定义、实例化、配置和管理。在Spring 2.5中,对...

    Spring2.5-中文参考手册chm.zip

    Spring框架的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP)以及模型-视图-控制器(Model-View-Controller,MVC)架构模式。在Spring 2.5中,这些主要功能...

    spring 2.5中文帮助文档

    通过阅读《Spring2.5-中文参考手册.chm》这份文档,开发者可以深入了解Spring 2.5的各种特性和用法,解决实际开发中遇到的问题,提升开发效率。文档不仅包含详细的API参考,还包含丰富的示例和最佳实践指导,是学习...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    Spring2.5是一个全面的后端应用管理框架,提供了依赖注入、AOP(面向切面编程)、数据访问等服务;Hibernate3.2则是一个对象关系映射(ORM)工具,简化了数据库操作。 首先,Struts1.2框架的核心是ActionServlet,...

    spring2.5常用包

    2. **AOP(Aspect-Oriented Programming)**:Spring 提供了面向切面编程的支持,允许开发者定义“切面”,这些切面可以跨越多个类的多个方法,实现如日志、事务管理等通用功能。@Aspect 和 @Before、@After、@...

    传智播客spring2.5源代码

    3. **AOP(Aspect-Oriented Programming,面向切面编程)**:在Spring 2.5中,AOP支持更加丰富,包括注解式切面定义,如`@Before`、`@After`、`@Around`等,以及基于注解的切入点表达式,让切面的定义更加直观。...

    spring 2.5依赖包

    2. **AOP增强**:Spring 2.5引入了对AspectJ的全面支持,包括编译时和运行时的切面织入。这使得AOP的使用更加灵活,可以更方便地定义切面和通知。 3. **Bean工厂和应用上下文**:Spring 2.5对Bean工厂和应用上下文...

    spring2.5中文文档(PDF)

    3. **AOP增强**:在2.5版本中,AOP支持更加丰富,可以使用注解定义切面,如`@Before`、`@After`、`@Around`等,以及`@Aspect`注解用于声明切面类。 4. **数据访问集成**:Spring 2.5增强了对各种数据访问技术的支持...

    struts2.1+spring2.5+hibernate3.3整合之第一步(spring2.5+hibernate3.3)

    Spring2.5是全面的企业级应用框架,它不仅包含IoC(Inversion of Control,控制反转)容器,用于管理对象的生命周期和依赖关系,还提供了AOP(Aspect-Oriented Programming,面向切面编程)功能,实现了对横切关注点...

Global site tag (gtag.js) - Google Analytics