一、介绍
这些天看了《Spring in Action》的第四章,讲解的是关于SpringAOP方面的,现在将自己的例子写出来。
二、AOP相关知识介绍
AOP可以做一些与业务逻辑不相关的操作,比如:日志、事务、安全等,使我们更加去关注自己的业务。
切面(Aspect) :要织入到业务上的一个类。切面是由切点和通知组成的
切点(pointcut):要执行的业务方法执行通知的一个标识。
通知(advice):切面要做的事情,比如日志记录什么的。
通知类型一般分为五种:
前置通知、后置通知、最终通知、环绕通知、异常通知
三、实例
其实我主要想写的是实例,以后能够找出来,项目是用maven构建的:
pom.xml如下: (要引入的jar)
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ry</groupId>
<artifactId>CommonProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.ry</groupId>
<artifactId>springSecurity</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>springSecurity Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties> <spring.version>4.2.0.RELEASE</spring.version></properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.version}<