自学马士兵spring2.5视频aop时遇到的问题

      最近想自学下spring,由于我用的是spring3.2的jar包,可是听马士兵视频的时候他讲的是2.5的。在学到@Aspect时候遇到了问题,我打@Aspect居然没提示,我想应该是少添jar包了,但是我把spring3.2  libs下所有jar包添加进去还是出问题。最后在网上下载了它依赖的jar包问题解决。

 

 注意它看它引入的包可以看出来。

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

 

它引入的aspectj.jar   而不是springfarmework里面的,再说springframework里面也没有。

 

三个jar包我已上传到资源里面了

 

再说一下关于 @Before("execution (* com.example.*(..))");

@Before("execution (* com.example.Person.*(..))");

execution 是关键字

第一个*是代表你要切入的方法返回值,第二个*代表任何返回值类型包括void(就是说不管你什么返回值类型我都切入)例如你要切入返回值为String类型直接把*换成java.lang.String即可,若方法返回值为void直接把*换成void

com.example.Person.*代表Person这个类下的所有方法。

(..)代表切入方法的形参。

上面的语句代表的意思就是:切入com.examplePerson这个类下所有的方法(形参个数和类型不限,返回值不限)。也就是只要是Person类下的方法我都切入。

 

 

 

你可能感兴趣的:(spring,AOP,jar,实习)