AOP学习
beans.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<context:annotation-config />
<context:component-scan base-package="com.lx"/>
<aop:aspectj-autoproxy/>
</beans>
-------------------------------------------------------------------------------------
类 UserDaoImpl.java文件
package com.lx.aspect;
import org.springframework.stereotype.Component;
@Component
public class UserDaoImpl {
public void saveUser(){
System.out.println("userSave刘健明");
}
}
------------------------------------------------------------------------------------------
类 LogUser.java文件
package com.lx.aspect;
import javax.annotation.PostConstruct;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogUser {
@Pointcut("execution(public * com.lx.aspect.*.*(..))")
public void userSaveBefore(){}
@Before("userSaveBefore()") /*注意: userSaveBefore后面的括号一定要加上*/
public void beforeUser(){
System.out.println("beforeUser");
}
}