关于spring aop切面的问题

Tlhog 发布于 2016/02/01 17:12
阅读 425
收藏 0

在使用spring框架的aop功能时出现问题:

这是我的配置文件:

 
 <bean id="testAspect" class="com.tlhog.aspect.TestAspect" />
 
 <!-- <bean id="userService" class="com.tlhog.service.Impl.UserServiceImpl"></bean> -->
 
 <!-- <aop:config>
 顶级切入点
 <aop:pointcut expression="execution(* com.tlhog.service.*.*(..))" id="servicePointCut"/>
 切面
 <aop:aspect id="myAspect" ref="testAspect" >
 对顶级切入点进行切面
 <aop:before pointcut-ref="servicePointCut" method="beginMethod"/>
 <aop:after method="endMethod" pointcut-ref="servicePointCut"/>
 <aop:around method="roundMethod" pointcut-ref="servicePointCut"/>
 可以定义切面自己的切入点
 <aop:pointcut expression="execution(* com.tlhog.service.*.*(..))" id="myPointCut"/>
 </aop:aspect>
 
 </aop:config>  -->   
        
 </beans>

我先把aop配置注掉。后台打印:

这是user.do action
这是userService
user.do action 结束

然后我把注掉的配置解开,后台打印:

信息: Initializing Spring FrameworkServlet 'spring'
这是user.do action
这是beginMethod
这是roundMethod
user.do action 结束

只执行了开始和环绕的切面方法。被切的方法没执行

以下是问题补充:

@Tlhog:这是action: @RequestMapping(params="method=toShowPage") public String toShowPage(HttpServletRequest request) { System.out.println("这是user.do action"); userService.show(); System.out.println("user.do action 结束"); return "user/show"; } 这是service: @Service("userService") public class UserServiceImpl implements UserService { @Override public void show() { // TODO Auto-generated method stub System.out.println("这是userService"); } } (2016/02/01 17:19)
加载中
0
M
Mrs肉包
你看一下 你自己的切面中有没有切点你自己定义的切点myPointCut
0
Tlhog
Tlhog
我切的是全局切点
0
敌羞吾去脱他衣
敌羞吾去脱他衣

问题可能出在TestAspect上面,检查一下roundMethod方法。


0
Tlhog
Tlhog
roundmethod只打印了一句话
返回顶部
顶部