Spring的AOP入门(AspectJ的XML 方式)

本文介绍了如何使用AspectJ的XML方式在Spring中实现AOP。首先,需要引入相关Jar包和配置Spring的XML文件。接着,创建目标类并进行配置。然后,进行单元测试,引入Spring Test的Jar包,遵循特定注解格式。再编写切面类,并将其交给Spring管理。最后,通过AOP配置完成对目标类的代理设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.引入Jar包

2.引入Spring的配置文件

引入AOP的约束

<?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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop.xsd">
<beans/>

3.编写目标类并完成配置

package com.acat.spring.demo3;

public class ProductDaoImpl implements ProductDao {

	@Override
	public void save() {
		System.out.println("保存商品");
	}

	@Override
	public void update() {
		System.out.println("修改商品");	
	}

	@Override
	public void find() {
		System.out.println("查询商品");
	}

	@Override
	public void delete() {
		System.out.println("删除商品");
	}

}
<!-- 配置目标对象:被增强的对象 -->
	<bean id="productDao" class="com.acat.spring.demo3.ProductDaoImpl" ></bean>

4.编写测试类

Spring整合单元测试

1.需要引入Jar包(spring-test-4.2.4.RELEASE.jar)

2.固定注解书写格式

             @RunWith(SpringJUnit4ClassRunner.class)
             @ContextConfiguration("classpath:applicationContext.xml")

package com.acat.spring.demo3;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
 * AOP 的入门
 * @author Administrator
 *
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class SpringDemo3 {
	
	@Resource(name="productDao")
	private ProductDao productDao;
	@Test
	public void demo1(){
		productDao.find();
		productDao.update();
		productDao.delete();
		productDao.save();
	}
}

5.编写一个切面类

package com.acat.spring.demo3;
/**
 * 切面类
 * @author Administrator
 *
 */
public class MyAspectXML {
	public void checkPri(){
		System.out.println("权限校验==========");
	}
}

6.将切面类交给Spring

<!-- 将切面类交个spring管理 -->
	<bean id="myAspect" class="com.acat.spring.demo3.MyAspectXML"></bean>

7.通过AOP    的配置完成对目标类产生代理

<!-- 通过AOP	的配置完成对目标类产生代理 -->
	<aop:config>
		<!-- 表达式配置那些类的那些方法需要进行增强 -->
		<aop:pointcut expression="execution(* com.acat.spring.demo3.ProductDaoImpl.save(..))" id="pointcut1"/>
		
		<!-- 配置切面 -->
		<aop:aspect ref="myAspect">
			<aop:before method="checkPri" pointcut-ref="pointcut1"/>
		</aop:aspect>
	</aop:config>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值