changliangwl 通过本文主要向大家介绍了spring aop 自定义,spring aop原理,spring aop详解,spring aop配置,spring aop例子等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1.在Maven中加入以下以依赖:
<!-- Spring AOP + AspectJ by shipengzhi -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.1_3</version>
</dependency>
<!-- end -->
</div>
在spring-***.xml中加入spring支持,打开aop功能
头文件声明 :
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
<!-- 自定义AOP -->
<aop:aspectj-autoproxy proxy-target-class="true">
<aop:include name="controllerAspect" />
</aop:aspectj-autoproxy>
<bean id="controllerAspect" class="com.sogou.upd.passport.common.aspect.ControllerAspect"></bean>
//或:
<aop:aspectj-autoproxy>
</div>
编写自定义注解。实现对方法所实现的功能进行描述,以便在通知中获取描述信息
/*
* 校验签名合法性 自定义事务
*/
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface SecureValid {
String desc() default "身份和安全验证开始...";
}
</div>
@Target 用于描述注解的使用范围(即:被描述的注解可以用在什么地方),其取值有:
|
取值 |
描述 |
|
CONSTRUCTOR |
用于描述构造器。 |
|
FIELD |
用于描述域。 |
|
LOCAL_VARIABLE |
用于描述局部变量。 |
|
METHOD |
用于描述方法。 |
|
PACKAGE |
用于描述包。 |
|
PARAMETER |
用于描述参数。 |
|
TYPE |
用于描述类或接口(甚至 enum )。 |
@Retention 用于描述注解的生命周期(即:被描述的注解在什么范围内有效),其取值有:
|
取值 |
描述 |
|
SOURCE |
在源文件中有效(即源文件保留)。 |
|
CLASS |
在 class 文件中有效(即 class 保留)。 |
您可能想查找下面的文章:文章分类最近更新的内容 |

