Spring的传统AOP开发方法不带切点的切面
2017-07-26 16:15
429 查看
通知可理解为增强代码
前置通知 org.springframework.aop.MethodBeforeAdvice
后置通知 org.springframework.aop.AfterReturningAdvice
环绕通知 org.aopalliance.intercept.MethodInterceptor
异常抛出通知 org.springframework.aop.ThrowsAdvice
导入Jar包:
1. spring-aop-3.2.0.RELEASE.jar
2.com.springsource.org.aopalliance-1.0.0.jar
编写代理对象:
Customer接口:
package cn.nedu.wy.demo03;
public interface CustomerDao {
public void add();
public void update();
public void delete();
public void find();
}
CustomerDaoImpl实现类:
package cn.nedu.wy.demo03;
public class CustomerDaoImpl implements CustomerDao {
public void add() {
// TODO Auto-generated method stub
System.out.println("添加用户......");
}
public void update() {
// TODO Auto-generated method stub
System.out.println("修改用户......");
}
public void delete() {
// TODO Auto-generated method stub
System.out.println("删除用户......");
}
public void find() {
// TODO Auto-generated method stub
System.out.println("查询用户......");
}
}
MyBeforeAdvice前置增强:
package cn.nedu.wy.demo03;
import java.lang.reflect.Method;
import org.springframework.aop.MethodBeforeAdvice;
//前置增强
public class MyBeforeAdvice implements MethodBeforeAdvice {
// method 代表执行的方法 args代表方法参数 target代表目标对象
@Override
public void before(Method method, Object[] args, Object target) throws Throwable {
// TODO Auto-generated method stub
System.out.println("前置增强......");
}
}
配置文件:
前置通知 org.springframework.aop.MethodBeforeAdvice
后置通知 org.springframework.aop.AfterReturningAdvice
环绕通知 org.aopalliance.intercept.MethodInterceptor
异常抛出通知 org.springframework.aop.ThrowsAdvice
导入Jar包:
1. spring-aop-3.2.0.RELEASE.jar
2.com.springsource.org.aopalliance-1.0.0.jar
编写代理对象:
Customer接口:
package cn.nedu.wy.demo03;
public interface CustomerDao {
public void add();
public void update();
public void delete();
public void find();
}
CustomerDaoImpl实现类:
package cn.nedu.wy.demo03;
public class CustomerDaoImpl implements CustomerDao {
public void add() {
// TODO Auto-generated method stub
System.out.println("添加用户......");
}
public void update() {
// TODO Auto-generated method stub
System.out.println("修改用户......");
}
public void delete() {
// TODO Auto-generated method stub
System.out.println("删除用户......");
}
public void find() {
// TODO Auto-generated method stub
System.out.println("查询用户......");
}
}
MyBeforeAdvice前置增强:
package cn.nedu.wy.demo03;
import java.lang.reflect.Method;
import org.springframework.aop.MethodBeforeAdvice;
//前置增强
public class MyBeforeAdvice implements MethodBeforeAdvice {
// method 代表执行的方法 args代表方法参数 target代表目标对象
@Override
public void before(Method method, Object[] args, Object target) throws Throwable {
// TODO Auto-generated method stub
System.out.println("前置增强......");
}
}
配置文件:
<bean id="customerDao" class="cn.nedu.wy.demo03.CustomerDaoImpl"></bean> <!--定义增强 --> <bean id="beforeAdvice" class="cn.nedu.wy.demo03.MyBeforeAdvice"></bean> <!-- Spring支持配置生成代理 --> <bean id="customerDaoProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="target" ref="customerDao"></property> <property name="proxyInterfaces" value="cn.nedu.wy.demo03.CustomerDao"></property> <property name="interceptorNames" value="beforeAdvice"></property> </bean>
相关文章推荐
- Spring的AOP传统开发方法带切点的切面
- Spring AOP编程(两种:1,传统的AOP切面编程 2,基于aspectj框架切点传统开发)
- Spring-AOP 复合切点切面
- [原创]java WEB学习笔记107:Spring学习---AOP切面的优先级,重用切点表达式
- Spring容器切面编程 aop注解开发 五中通知类型
- Spring-AOP 切点/切面类型和创建切面
- Spring AOP 之 通知、连接点、切点、切面
- 关于spring切面使用<aop:aspectj-autoproxy/>报错的解决方法
- Spring AOP编程-aspectJ注解开发(@Pointcut声明切点)
- 一个简单的Spring的AOP例子传统方法
- [置顶] spring切点切面aop——xml非注解
- spring开发aop应用三种方法
- Spring AOP-通知-为目标方法织入多个切面
- Spring-AOP 静态正则表达式方法匹配切面
- springboot 的切面aop 实现方法
- spring切点切面aop——xml非注解
- Spring学习-18:Spring的AOP:不带有切点的切面
- Spring 3.x企业应用开发实战(10)----AOP切面
- IT SpringAOP:足迹第十八步了解SpringAOP(如何使用面向切面开发权限认证、日志、事物)
- JavaWeb学习笔记-spring-13-AOP-创建切面(静态普通方法名匹配切面)