Spring入门--Spring AOP(1)

AOP(Aspect Oriented Programming),意为:面向切面编程。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

通知的类型
Spring 可以提供以下通知工作:
在这里插入图片描述

实现步骤:
1.导入jar
aopaliance.jar
aspectjweaver.jar
2.编写(以前置通知为例)

//接口
public interface IStudentDao {
	public void addStudent(Student student);
}

//接口的实现类
public class StudentDaoImpl  implements IStudentDao{
	@Override
	public void addStudent(Student student) {
		// TODO Auto-generated method stub
		System.out.println("增加学生");
	}
}
//通过继承MethodBeforeAdvice实现前置通知
public class LogBefore implements MethodBeforeAdvice{
	@Override
	public void before(Method method, Object[] args, Object target) throws Throwable {
		// TODO Auto-generated method stub
		System.out.println("前置通知...");
	}
}

3.配置
在配置文件中加入

xmlns:aop=“http://www.springframework.org/schema/aop”

<!-- 前置通知 -->
<!-- addStudent()所在方法 -->
<bean id="studentDaoImpl" class="org.wuchuan.dao.impl.StudentDaoImpl">
</bean>

<!-- LogBefore所在一方 -->
<bean id="logBefore" class="org.wuchuan.aop.LogBefore">
</bean>

<!-- 连接线 -->
<aop:config>
	<!-- 配置切入点(在哪里执行通知 ) -->
	<aop:pointcut expression="execution(public void org.wuchuan.dao.impl.StudentDaoImpl.addStudent(org.wuchuan.entity.Student))" id="poioncut"/>
	<!-- LogBefore(通知)所在一方 -->
	<aop:advisor advice-ref="logBefore" pointcut-ref="poioncut"/>
</aop:config>

4.测试

//测试方法
public static void testAop() {
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml") ;
		IStudentDao studentService = (IStudentDao)context.getBean("studentDaoImpl") ;
		Student student = new Student();
		student.setStuAge(23);
		student.setStuName("zs");
		studentService.addStudent(student);
	}

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值