`
panmingzhi0815
  • 浏览: 13248 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

用xml配置的方式进行SpringAOP开发

阅读更多

 1.先定义一个简单接口:

package org.pan.service;

public interface PersonService {
	
	public void save();
	
	public void update();
	
	public void delete();

}

 

2.实现这个接口:

package org.pan.service.impl;

import org.pan.service.PersonService;

public class PersonServiceBean implements PersonService{

	@Override
	public void delete() {
		System.out.println("调用delete方法");
	}

	@Override
	public void save() {
		System.out.println("调用save方法");	
	}

	@Override
	public void update() {
		System.out.println("调用update方法");	
	}

}

 3.定义一个普通的java类,这个类将作为拦截类:

package org.pan.aop;

public class MyInterceptor {
	
	public void doAccessMethod(){
		System.out.println("前置通知!");
	}
	
	public void afterMethod(){
		System.out.println("后置通知!");
	}
	
	public void afterException(){
		System.out.println("后置例外通知!");
	}
	
	public void around(){
		System.out.println("环绕通知!");
	}

}

 4.这是spring的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:p="http://www.springframework.org/schema/p"
	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-2.5.xsd 
	http://www.springframework.org/schema/aop 
	http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx-2.5.xsd ">
	
	<aop:aspectj-autoproxy />
	
	<bean id="personService" class="org.pan.service.impl.PersonServiceBean" />
	
	<bean id="myInterceptor" class="org.pan.aop.MyInterceptor"/>
	
	<aop:config>
		<aop:aspect id="asp" ref="myInterceptor">
			<aop:pointcut id="personPointCut" expression="execution(* org.pan.service.impl.PersonServiceBean.*(..))"/>
			<aop:before method="doAccessMethod" pointcut-ref="personPointCut"/>
			<aop:after-returning method="afterMethod" pointcut-ref="personPointCut"/>
			<aop:after-throwing method="afterException" pointcut-ref="personPointCut"/>
		</aop:aspect>
	</aop:config>
	
</beans>

 这就是一个简单的实例了,现在来个单元测试一下:

package junit.test;

import org.junit.BeforeClass;
import org.junit.Test;
import org.pan.service.PersonService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringAopTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}
	@Test public void interceptorTest(){
		ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
		PersonService personService=(PersonService)ctx.getBean("personService");
		personService.save();
	}
}

 运行后便会在控制台输出以下信息了:

前置通知!
调用save方法
后置通知!

 

  • 大小: 14 KB
分享到:
评论

相关推荐

    用注解的方式进行SpringAOP开发

    本篇我们将深入探讨如何使用注解的方式来实现Spring AOP开发。 ### 一、注解基础 在Spring AOP中,主要使用以下几种注解: 1. `@Aspect`:定义一个切面类,切面是AOP的核心,包含通知(advisors)和切点...

    SpringAop xml方式配置通知

    在Spring框架中,AOP通过代理实现,可以使用XML配置或注解进行配置。本篇文章主要聚焦于Spring AOP的XML配置通知。 **一、AOP概念解析** 1. **切面(Aspect)**:一个关注点的模块化,例如事务管理就是一个切面。...

    Spring AOP 的实现例子(基于XML配置实现)

    Spring AOP,即Spring的面向切面编程,是Spring框架中的一个重要组成部分,它提供了一种在不修改原有代码的情况下,对程序...虽然现在更多地使用注解式配置,但理解XML配置方式对于全面掌握Spring AOP仍然至关重要。

    javaXML方式实现SpringAop编程(源码+jar包)

    本篇文章将深入探讨如何通过XML配置来实现Spring AOP,并结合提供的源码和jar包进行详细讲解。 首先,我们需要理解Spring AOP的基本概念。AOP是一种编程范式,用于将关注点(如日志、安全检查)与业务逻辑分离,...

    spring aop xml 实例

    本实例主要探讨的是使用XML配置的方式来实现AOP。XML配置虽然相比注解方式略显繁琐,但它提供了更大的灵活性,尤其是在需要对多个类或方法应用相同通知(Advice)时。 首先,我们需要在Spring的配置文件中启用AOP...

    spring aop jar 包

    在使用Spring AOP时,我们可以通过XML配置或注解的方式来定义切面。例如,可以使用`@Aspect`注解定义一个切面类,`@Before`、`@After`等注解来声明通知,`@Pointcut`定义切点表达式。 在实际开发中,Spring AOP广泛...

    springAop的配置实现

    Spring AOP通过XML配置文件提供了灵活的方式来定义和管理切面、切入点和通知,使得我们可以轻松地在应用程序中实现横切关注点的解耦。了解和掌握Spring AOP的配置实现,有助于提升我们构建松散耦合、易于维护的系统...

    Spring 基于基于XML配置方式实现AOP

    在实际开发中,Spring AOP结合XML配置可以提供灵活且强大的功能。然而,随着Spring的发展,基于注解的AOP配置逐渐成为主流,因为它的简洁性和可读性更强。但这并不意味着XML配置方式失去了价值,尤其是在需要更细...

    SSH三大框架整合 struts2(使用xml配置)+hibernate(使用xml配置)+spring(使用xml配置)

    本项目整合了这三个框架,并使用XML配置来管理各个组件,实现了基本的CRUD(创建、读取、更新、删除)功能以及分页查询。 首先,Struts2作为表现层框架,负责处理HTTP请求,控制应用程序的流程。通过定义Action类和...

    spring aop管理xml版

    在"Spring AOP管理XML版"中,我们主要关注的是通过XML配置来管理AOP。以下是一些关键的XML配置元素: - `&lt;aop:config&gt;`:这是AOP配置的根元素,包含所有其他的AOP配置。 - `&lt;aop:aspect&gt;`:定义一个切面,内部可以...

    JavaEE Spring AOP使用

    JavaEE Spring AOP(面向切面编程)是企业级应用开发中的重要技术,它允许...无论是通过注解还是XML配置,掌握Spring AOP的使用都能显著提升我们的开发效率。在实践中,可以根据项目的具体需求选择最适合的实现方式。

    springAOP配置动态代理实现

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它允许程序员在不修改源代码的情况下,通过在...在实际开发中,结合使用XML配置、注解配置以及适当的动态代理策略,可以使AOP功能更好地服务于我们的应用程序。

    Spring Aop四个依赖的Jar包

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的一个重要模块,它通过提供声明式的方式来实现面向切面编程,从而简化了应用程序的开发和维护。在Spring AOP中,我们无需深入到每个...

    spring aop依赖jar包

    在实际开发中,你可以通过配置XML或使用注解来定义切面,以及通知的触发条件。例如,使用`@Aspect`注解定义切面类,使用`@Before`、`@After`等注解标记通知方法,使用`@Pointcut`定义切点表达式。 总的来说,Spring...

    Spring AOP + AspectJ in XML 配置示例

    在IT行业中,Spring框架...总结来说,Spring AOP和AspectJ的结合使用,借助XML配置,为开发者提供了一种强大而灵活的方式去处理横切关注点。通过学习并掌握这一技术,开发者可以写出更加模块化、易于维护的企业级应用。

    spring 2.0使用AOP实例(基于XML的配置方式)

    在IT行业中,Spring框架是Java企业级应用开发的首选,其强大的功能和灵活性深受...通过对这些内容的分析和实践,你可以深入理解Spring 2.0中AOP的概念及其XML配置方式,从而在实际项目中更加灵活地应用面向切面编程。

    spring aop的demo

    在`springAop1`这个压缩包中,可能包含了一个简单的应用示例,展示了如何定义一个切面类,以及如何在该类中定义通知方法。例如,我们可能会看到一个名为`LoggingAspect`的类,其中包含了`@Before`注解的方法,用于在...

    Spring Aop使用实例

    在Spring XML配置文件中,可以声明切面和通知,如下: ```xml &lt;aop:config&gt; &lt;aop:aspect id="loggingAspect" ref="loggingService"&gt; &lt;aop:before method="logBefore" pointcut="execution(* com.example.service....

    Spring AOP IOC源码笔记.pdf

    Spring支持两种配置方式:XML配置和Java配置。XML配置是早期常用的,通过`&lt;bean&gt;`标签定义Bean及其依赖关系。Java配置则是从Spring 3.0引入的,使用@Configuration和@Bean注解,使得配置更加直观且类型安全。 4. ...

Global site tag (gtag.js) - Google Analytics