spring3.1aop,用到AnnotationAwareAspectJAutoProxyCreator奇怪问题,求解释

问题描述

我这里做了一个简单的基于注解驱动的demo,想学习aop,遇到一个奇怪问题,为什么我加了AnnotationAwareAspectJAutoProxyCreator以后,advice就执行了2次,不加就正常的执行了一次,请看代码:这个是最基本的一个Servicepackage com.demo;import org.springframework.stereotype.Service;@Servicepublic class UserService {public void add(){System.out.println("add method..");}}这个是我的advicepackage com.demo;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.springframework.stereotype.Component;@Aspect@Componentpublic class UserAdvice {private static int n = 1;@Before("execution (* com.demo.UserService.add(..))")public void test(){System.out.println("advice test method n = "+n);n++;}}这个是我的执行方法:package com.demo;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); UserService service =(UserService) context.getBean("userService"); service.add();}}这个是我的spring配置文件(bean.xml)中最精简的说明:引用

解决方案

他们都是动态代理你写AnnotationAwareAspectJAutoProxyCreator就不需要写<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

时间: 2025-01-19 16:45:43

spring3.1aop,用到AnnotationAwareAspectJAutoProxyCreator奇怪问题,求解释的相关文章

堆栈-一段奇怪的代码,求解释

问题描述 一段奇怪的代码,求解释 代码的意思是说,在声明的时候,因为栈的分配原因(先入后出),k[10]就是i的地址.然后i就会被修改成0,循环再次开始,就这样出现了一个死循环.为什么k[10]就是i的地址呢? int m=1; int i =0; int k[10] = {0}; printf(""&m=%dn""&m); printf(""&i=%dn""&i); printf("

leetcode-C++程序里面一个很奇怪的bug!跪求解释!!!

问题描述 C++程序里面一个很奇怪的bug!跪求解释!!! 这是我试图求解leetcode 第六题,这不重要,主要看一下程序里面那个if语句的执行 问题,不用看我针对这道题的逻辑对不对,这不是重点,重点是那个if语句!!! 在代码那个(***)的地方我给了注释!!! #include <iostream> #include <string> #include <cstring> using namespace std; int main() { string s; in

ibatis报错,很奇怪,求大神帮忙

问题描述 ibatis报错,很奇怪,求大神帮忙 现在项目中用的是ibatis,第一次接触,这两天一直在报错,都要疯了,请大神帮忙看看吧. 配置如下: resultMap="cpVoucherResultCheckIn" parameterClass="elementCondition"> select master.* from cp_voucher master where master.sum_cp_voucher_id is null and maste

算法 递归 数据结构-求解释代码,添加注释或者画图解释(在网上看到的求组合的递归算法,绕晕头了看不懂,求解释)

问题描述 求解释代码,添加注释或者画图解释(在网上看到的求组合的递归算法,绕晕头了看不懂,求解释) public class Test1 { public static void main(String[] args) { select(2); } private static void select(int k) { char[] result = new char[k]; subselect(0 1 result k); } private static void subselect(int

whitespace-这段代码什么意思求解释

问题描述 这段代码什么意思求解释 #include #include #include #include //Constants #define LINELENGTH 100 // Function prototypes void reverse_words(char* words[], char* rwords[], int count); void print_words(char* words[]); int mark_words(char* line, char* words[]); /

biginteger-Java中n!的代码看不懂啊,求解释

问题描述 Java中n!的代码看不懂啊,求解释 import java.math.BigInteger; import java.util.*; public class Main{ protected static ArrayList table = new ArrayList(); static { table.add(BigInteger.valueOf(1)); } public static synchronized BigInteger factorial(int x) { for

孙鑫-Visual C++的一段代码搞不懂求解释

问题描述 Visual C++的一段代码搞不懂求解释 说一下自己的理解.题目是孙鑫老是的文本输出的例子. 1:GetBkColor得到背景白色,然后SetTextColor(白色)把背景白色设置为文字颜色.跟着clr应该是赋值得到白色了吧,但是F5看的时候是黑色,就要原文字颜色.我这么理解应该错了 1 COLORREF clr=dc.SetTextColor(dc.GetBkColor()); //GetBkColor属于dc对象,改变dc中的背景值(白色).然后SetTextColor用白色值

ancy orm-用FancyForm添加用户角色,求解释这段代码,

问题描述 用FancyForm添加用户角色,求解释这段代码, var form = $('#form').FancyForm({ title: '添加角色' width: 345 height: 325 inputWidth: 190 labelWidth: 60 url: '<%=path %>/sysRoleController/addRole.do' params: { param1: 1 param2:'string' } defaults: { type: 'string' } it

ip地址-求解释下这段代码...感激不尽

问题描述 求解释下这段代码...感激不尽 u_long ulDestIP; u_long ulDestIP1=inet_addr(a); u_long ulDestIP2=inet_addr(b); unsigned long count = ntohl(ulDestIP2 - ulDestIP1)-1; struct in_addr in; unsigned long hostip; for(unsigned int i = 0; i <=count+1; i++) { hostip = nt

下面代码是啥意思 求解释 qt新手

问题描述 下面代码是啥意思 求解释 qt新手 p.drawEllipse(QPoint((i + 1) * 40 (j + 1) * 40) 15 15);是啥意思 解决方案 drawEllipse( x y ab );表示以坐标(xy)为中心画一个长为a宽为b的椭圆以你的代码为例就是绘制一个 中心(40(i+1)40(j+1))长轴(长)为a短轴(宽)为b的椭圆其中ij应该是传入的参数 解决方案二: 在那个区域内绘制椭圆啊 解决方案三: QPoint((i+1)*40, (j+1)*40)坐标