`
collegeyuan
  • 浏览: 31503 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

基于xml的spring AOP,简单实现

 
阅读更多

基于xml的spring AOP简单例子:

 

一、定义bean

 

                    package com.spring.aspect.log

                   //将此bean作为切面类

                    public class LogAspect {

 

                              public void log(){

 

                                   System.out.println("打日志");

                              }

                    }

              com.spring.test1包下有两个类:Person、Axe,将在这两个类中织入前置增强处理

                   public class Person {

 

                            public Axe axe;

                            public Axe getAxe() {

                                 return axe;

                              }

                             public void setAxe(Axe axe) {

                                 this.axe = axe;

                               }

 

                               public void printAxe(){

 

                                   System.out.println(axe.chop());

                              }

                    }

 

                    public class Axe {

                        public String chop(){

 

                                return "这是axe方法";

                        }

                    }

二、在spring配置文件中加入如下配置,

                  <bean id="person" class="com.spring.test1.Person">

                        <property name="axe" ref="axe"/>

                   </bean>

                   <bean id="axe" class="com.spring.test1.Axe"/>

                   <!-- 定义一个普通的bean,将此bean作为切面类 -->

                   <bean id="logAspect" class="com.spring.aspect.log.LogAspect"/>

  

                   <aop:config>

                         <!-- 定义切入点 ,com.spring.test1包下的所有类的方法,将被织入before增强处理-->

                         <aop:pointcut expression="execution(* com.spring.test1.*.*(..))" id="myPointcut"/>

                         <!-- 将logAspect定义切面类,并将其log方法定义为before增强处理 -->

                         <aop:aspect id="addLog" ref="logAspect">

        

                         <aop:before method="log"  pointcut-ref="myPointcut"/>

                    </aop:aspect>

  

                    </aop:config>

  注释:

         <aop:pointcut>用于定义通知,此节点放在<aop:config>下面,则定义全局的切入点,如果放在<aop:aspect>节点下,则只对该切面有效。

 

三、执行main方法,看结果

 public class GetSpringBeanByxml {

 

/**

* @param args

*/

public static void main(String[] args) throws Exception{

// TODO Auto-generated method stub

 

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");

 

Person person  =ctx.getBean("person",Person.class);

 

person.printAxe();

}

 

}

 

运行结果如下:

  打日志

  打日志

  这是axe方法

分享到:
评论

相关推荐

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

    XML配置是Spring AOP早期的主要实现方式,虽然现在有更简洁的注解式配置,但理解XML配置方式对于深入理解AOP原理仍然很有帮助。下面我们将详细探讨如何通过XML配置实现Spring AOP。 首先,我们需要在Spring配置文件...

    基于xml的SpringAOP实例

    在基于XML的配置方式下,Spring AOP提供了直观且灵活的声明式方法来实现这些关注点的分离,使得业务逻辑代码更为简洁。 在Spring AOP中,我们首先需要定义一个切面(Aspect),它包含了若干个通知(Advice)。通知...

    spring aop注解方式、xml方式示例

    Spring AOP提供了注解和XML两种方式来实现切面编程。注解方式更加简洁,易于理解和维护,适用于大多数情况。而XML配置方式则在复杂场景下更具灵活性,如需要动态调整切面配置时。在实际项目中,可以根据需求选择适合...

    Spring Aop的简单实现

    在这个基于配置文件的实现中,我们首先需要在Spring配置文件(如applicationContext.xml)中定义一个切面。切面通常由一个或多个通知组成,我们可以使用`&lt;aop:config&gt;`标签来声明切面。例如: ```xml &lt;aop:config&gt; ...

    Spring AOP实现机制

    **Spring AOP 实现机制详解** Spring AOP(面向切面编程)是Spring框架的核心特性之一,它允许程序员在不修改源代码的情况下,通过“切面”来插入额外的业务逻辑,如日志、事务管理等。AOP的引入极大地提高了代码的...

    AOP的相关概念,基于XML的AOP的配置,基于注解的AOP配置

    无论是基于XML的AOP配置还是基于注解的AOP配置,其核心都是将横切关注点从业务逻辑中分离出来,从而实现更好的代码组织和管理。选择哪种配置方式取决于项目的具体需求和个人偏好。对于简单的项目或小型团队,基于...

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

    本篇文章将重点讲解如何通过XML配置方式在Spring中实现AOP。 首先,了解AOP的基本概念是必要的。AOP的核心是切面(Aspect),它封装了多个相关操作,形成了一个关注点。切点(Pointcut)定义了这些操作应用到何处,...

    Spring AOP的简单实现

    在Spring AOP中,切面可以通过两种方式定义:使用注解或者XML配置。在这个例子中,我们可能会选择注解方式,因为它更简洁且易于理解。 1. **创建切面类(Aspect)** 我们可以创建一个名为`LoggingAspect`的Java类...

    简单spring aop 例子

    现在,我们来看如何创建一个简单的Spring AOP例子: 1. **定义切面(Aspect)**:切面是包含通知(Advice)和切入点(Pointcut)的类。通知定义了要执行的逻辑,切入点定义了何时执行。例如,我们可以创建一个名为`...

    spring aop jar 包

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

    spring aop xml实现

    XML配置是Spring AOP早期版本中主要的配置方式,虽然在Spring 4.x及以后版本中,基于注解的配置更加常见,但理解XML配置仍然是学习AOP的基础。 首先,我们需要了解AOP的基本概念: 1. 切面(Aspect):一个关注点的...

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

    接下来,我们将使用XML配置来创建一个简单的Spring AOP示例: 1. **配置Spring容器**:首先,我们需要一个Spring配置文件(如`springstudy02/spring-context.xml`),在其中定义bean并启用AOP支持。例如: ```xml ...

    SpringAop学习笔记以及实现Demo

    3. **基于XML配置的AOP**:在Spring的配置文件中,可以通过`&lt;aop:config&gt;`、`&lt;aop:advisor&gt;`、`&lt;aop:pointcut&gt;`等标签定义切面、通知和切入点。 ### 三、Spring AOP实战 1. **经典代理模式**:通过JDK动态代理或...

    Spring通过XML实现AOP

    **Spring AOP 通过 XML 配置实现** 在软件开发中,面向切面编程(Aspect-Oriented Programming,简称 AOP)是一种强大的设计模式,它允许我们把关注点分离到所谓的“切面”中,这些切面独立于业务逻辑,但又与业务...

    spring aop xml 实例

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

    Spring AOP 16道面试题及答案.docx

    Spring支持两种AOP的实现方式:Spring AspectJ注解风格和Spring XML配置风格。使用AspectJ注解风格是最常见的,它允许开发者直接在方法上使用注解来定义切面。 Spring AOP中有五种不同类型的的通知(Advice): 1....

    Spring基于注解实现AOP

    本篇文章将深入探讨如何在Spring中通过注解实现AOP。 首先,了解AOP的基本概念。面向切面编程是一种编程范式,它允许程序员定义“切面”,这些切面包含了跨越多个对象的行为或责任。切点是这些行为插入到主业务逻辑...

    springAop的配置实现

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

    Spring 使用AspectJ 实现 AOP(基于xml文件、基于注解)

    本教程将探讨如何在Spring中结合AspectJ实现AOP,包括基于XML配置和基于注解的方式。 **一、AOP基本概念** AOP的核心概念有切面(Aspect)、连接点(Join Point)、通知(Advice)、切点(Pointcut)和引入...

    一个简单的spring AOP的实现

    对于提供的文件名"mySpring",可能是一个包含Spring配置或示例代码的文件,其中可能包含了关于如何实现Spring AOP的具体步骤和示例。通过查看这个文件,我们可以更深入地理解Spring AOP的实际应用和配置。在实际开发...

Global site tag (gtag.js) - Google Analytics