在一个切面类里使用@Before来修饰一个方法,该方法将作为Before增强处理。使用@Before修饰时,通常需要指定一个value属性值,该属性指定一个切点表达式(既可以是一个已有的切入点,也可以直接定义切入点表达式),用于指定该增强处理将被织入哪些切入点。
下面定义的java类里使用@Before定义了一个Before增强处理。
// 定义一个切面
@Aspect
public class AuthAspect
{
// 匹配com.owen.app.service.impl包下所有类的
// 所有方法的执行作为切入点
@Before("execution(* com.owen.app.service.impl.*.*(..))")
public void authority()
{
System.out.println("模拟执行权限检查");
}
}
在com.owen.app.service.impl下有两个类分别是HelloImple.java和WorldImpl.java的类。
1) HelloImple.java
@Component("hello")
public class HelloImpl implements Hello
{
// 定义一个简单方法,模拟应用中的业务逻辑方法
public void foo()
{
System.out.println("执行Hello组件的foo()方法");
}
// 定义一个addUser()方法,模拟应用中的添加用户的方法
public int addUser(String name , String pass)
{
System.out.println(