iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring如何基于XML实现Aop
  • 556
分享到

Spring如何基于XML实现Aop

2023-06-20 16:06:49 556人浏览 薄情痞子
摘要

本篇内容介绍了“spring如何基于XML实现aop”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录项目结构具体步骤创建Maven 项目

本篇内容介绍了“spring如何基于XML实现aop”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

目录
  • 项目结构

  • 具体步骤

    • 创建Maven 项目 导入依赖 创建好项目结构

    • 写一个TestDao接口 及实现类

    • 编写切面类

    • 测试

项目结构

Spring如何基于XML实现Aop

具体步骤

1、创建maven 项目 导入依赖 创建好项目结构

 <dependencies>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <version>1.18.18</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.12</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>5.3.4</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-beans</artifactId>            <version>5.3.4</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>5.3.4</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-expression</artifactId>            <version>5.3.4</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-aop</artifactId>            <version>5.3.4</version>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjweaver</artifactId>            <version>1.9.6</version>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjrt</artifactId>            <version>1.9.6</version>        </dependency>    </dependencies>

2、写一个TestDao接口 及实现类

public interface TestDao {    public void sayHello();    public void save();    public void modify();    public void delete();}
public class TestDaoImpl implements TestDao {    public void sayHello() {        System.out.println("正在执行的方法-->武汉加油!中国加油!");    }    public void save() {        System.out.println("正在执行的方法-->保存");    }    public void modify() {        System.out.println("正在执行的方法-->修改");    }    public void delete() {        System.out.println("正在执行的方法-->删除");    }}

3、编写切面类

public class MyAspectXml {        public void before(JoinPoint jp){        System.out.print("前置通知:模拟权限控制   ");        System.out.println("目标对象:"+jp.getTarget()+",被增强的方法:"+jp.getSignature().getName());    }    public void afterReturning(JoinPoint jp){        System.out.print("后置返回通知:"+"模拟删除临时文件"  );        System.out.println(",被增强的方法"+jp.getSignature().getName());    }    public Object around(ProceedingJoinPoint pjp) throws Throwable {        System.out.println("环绕开始:执行目标方法前,模拟开启事务");        Object obj = pjp.proceed();        System.out.println("环绕结束:执行目标方法后,模拟关闭事务");        return obj;    }    public void except(Throwable throwable){        System.out.println("异常通知:"+"程序执行异常"+throwable.getMessage());    }    public void after(){        System.out.println("最终通知:释放资源");    }}```### 4、application.xml文件```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:aop="http://www.springframework.org/schema/aop"       xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans.xsd       http://www.springframework.org/schema/aop       https://www.springframework.org/schema/aop/spring-aop.xsd       http://www.springframework.org/schema/context       https://www.springframework.org/schema/context/spring-context.xsd">    <!--    <aop:aspectj-autoproxy />    声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。    proxy-target-class属性,默认为false,表示使用jdk动态代理织入增强,    为true时: 表示使用CGLib动态代理技术织入增强。    -->    <aop:aspectj-autoproxy proxy-target-class="true"/>    <bean id="testDaoImpl" class="com.dao.TestDaoImpl"/>    <bean id="myAspectXML" class="com.aspect.MyAspectXml"/><!--    <bean id="myAspectXML2" class="com.aspect.MyAspectXml2"/>-->    <!--        补充:<aop:pointcut>如果位于<aop:aspect>元素中,则命名切点只能被当前<aop:aspect>内定义的元素访问到,        为了能被整个<aop:config>元素中定义的所有增强访问,则必须在<aop:config>下定义切点。    -->    <aop:config>        <!--切入点  execution 表达式 通过这个表达式筛选连接点 -->        <aop:pointcut id="myPointCut" expression="execution(* com.dao.*.*(..))"/>        <aop:aspect ref="myAspectXML">           <!--aop:after 是表示 这个方法是那种通知类型after 是方法之后                method="after" 这个after是切面类中的方法  -->            <aop:after method="after" pointcut-ref="myPointCut"/>            <aop:before method="before" pointcut-ref="myPointCut"/>            <aop:after-returning method="afterReturning" pointcut-ref="myPointCut"/>            <aop:after-throwing method="except" throwing="throwable" pointcut-ref="myPointCut"/>            <aop:around method="around" pointcut-ref="myPointCut"/>        </aop:aspect>    </aop:config></beans>

测试

@Test    public void Test(){        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");        TestDao testDao = applicationContext.getBean("testDaoImpl", TestDaoImpl.class);        testDao.save();            }

“Spring如何基于XML实现Aop”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Spring如何基于XML实现Aop

本文链接: https://www.lsjlt.com/news/298193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring如何基于XML实现Aop
    本篇内容介绍了“Spring如何基于XML实现Aop”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录项目结构具体步骤创建maven 项目 ...
    99+
    2023-06-20
  • Spring基于XML实现Aop
    目录项目结构具体步骤1、创建maven 项目 导入依赖 创建好项目结构2、写一个TestDao接口 及实现类3、编写切面类测试总结项目结构 具体步骤 1、创建maven 项目 导入...
    99+
    2024-04-02
  • Spring切面优先级与基于xml的AOP实现方法详解
    目录一、切面的优先级二、基于xml的AOP实现(了解)一、切面的优先级 ①创建类ValidateAspect: 由于要把我们的切面类和我们的目标类来进行ioc容器的一个组件,所以我们...
    99+
    2022-11-13
    Spring切面优先级 Spring XML实现Aop
  • 使用Spring Aop如何配置xml
    本篇文章给大家分享的是有关使用Spring Aop如何配置xml,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今...
    99+
    2023-05-31
    springaop xml
  • 基于Spring AOP proxyTargetClass的行为表现总结
    Spring AOP proxyTargetClass的行为 要点列表形式 proxyTargetClass true 目标对象实现了接口 – 使用CGLIB代理机制 ...
    99+
    2024-04-02
  • 浅析Spring基于注解的AOP
    目录一、准备工作二、基于注解的AOP之前置通知三、基于注解的AOP之切入点表达式的语法和重用以及获取连接点的信息①切入点表达式的语法②获取连接点的信息③重用写入点表达式一、准备工作 ...
    99+
    2022-11-13
    Spring AOP Spring基于注解的AOP
  • 基于spring中的aop简单实例讲解
    aop,即面向切面编程,面向切面编程的目标就是分离关注点,比如:一个骑士只需要关注守护安全,或者远征,而骑士辉煌一生的事迹由谁来记录和歌颂呢,当然不会是自己了,这个完全可以由诗人去歌颂,比如当骑士出征的时候诗人可以去欢送,当骑士英勇牺牲的时...
    99+
    2023-05-31
    spring aop 实例
  • Spring基于xml实现自动装配流程详解
    自动装配: 根据指定的策略,在IOC容器中匹配某一个bean,自动为指定的bean中所依赖的类类型或接口类 型属性赋值 ①场景模拟 创建类 UserController public...
    99+
    2023-01-03
    Spring基于xml实现自动装配 Spring自动装配
  • Spring MVC 二 :基于xml配置
    创建一个基于xml配置的Spring MVC项目。 Idea创建新项目,pom文件引入依赖: org.springframework spring-context 5.2.12.RELEASE ...
    99+
    2023-08-30
    spring mvc xml
  • 基于Ehcache如何实现Spring缓存
    这篇文章主要介绍了基于Ehcache如何实现Spring缓存,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一 简介缓存,通过将数据保存在缓冲...
    99+
    2024-04-02
  • Spring基于Aop实现事务管理流程详细讲解
    目录aop在spring事务中的运用基于纯注解实现spring事务管理基于xml文件实现Spring事务管理aop在spring事务中的运用 在Spring中,AOP和事务管理是两个...
    99+
    2023-05-20
    Spring Aop事务管理 Spring实现事务管理
  • 基于Spring AOP proxyTargetClass的行为表现有哪些
    小编给大家分享一下基于Spring AOP proxyTargetClass的行为表现有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Spring AOP p...
    99+
    2023-06-20
  • Spring框架基于xml实现自动装配流程详解
    目录一、基于xml的自动装配之场景模拟:二、基于xml的自动装配之byType三、基于xml的自动装配之byName四、基于注解管理bean之功能分析五、基于注解管理bean之扫描组...
    99+
    2022-11-13
    Spring自动装配 Spring基于XML自动装配
  • spring boot拦截器如何使用spring AOP实现
    本篇文章为大家展示了spring boot拦截器如何使用spring AOP实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在spring boot中,简单几步,使用spring AOP实现一个拦...
    99+
    2023-05-31
    springboot spring aop 拦截器
  • springboot实现基于aop的切面日志
    本文实例为大家分享了springboot实现基于aop的切面日志的具体代码,供大家参考,具体内容如下 通过aop的切面方式实现日志 通切面拦截所有指定包下的所有方法 @Aspect ...
    99+
    2024-04-02
  • Spring Aop注解实现
    目录Spring-aop-理论知识 Spring-Aop-注解实现 项目结构图具体步骤:1、创建maven 项目 导入依赖 创建好项目结构2、写一个接口 及 其实现类3、切面类4、a...
    99+
    2024-04-02
  • 带你了解如何使用Spring基于ProxyFactoryBean创建AOP代理
    目录1 基础2 JavaBean属性3 JDK和CGLIB代理总结若使用 Spring IoC 容器(ApplicationContext或BeanFactory)作为你的业务对象(...
    99+
    2024-04-02
  • Spring基于AspectJ的AOP开发案例解析
    目录AspectJ简介注解开发环境准备不同的通知类型最通知中通过value属性定义切点入门案列@Before前置通知@AfterReturning后置通知@Around环绕通知@Af...
    99+
    2024-04-02
  • 基于springboot实现一个简单的aop实例
    简介 AOP(Aspect-Oriented Programming:面向切面编程) aop能将一些繁琐、重复、无关业务的逻辑封装起来,在一个地方进行统一处理,常用于日志记录、事务...
    99+
    2024-04-02
  • Spring AOP中如何实现自动代理
    小编给大家分享一下Spring AOP中如何实现自动代理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这里的自动代理,我讲的是自动代理bean对象,其实就是在xm...
    99+
    2023-05-30
    spring aop
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作