首页 > 其他分享 >Spring Aop 所有需要的Maven依赖

Spring Aop 所有需要的Maven依赖

时间:2023-07-05 17:22:15浏览次数:40  
标签:依赖 Spring 应用程序 Maven 切面 Aop 横切 AspectJ

<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.5</version>
</dependency>

这个依赖是 AspectJ 的编织器(weaver),它是一个面向切面编程(AOP)的工具,用于在运行时对 Java 代码进行横切(cross-cutting)操作和增强。

AspectJ 是一个功能强大的 AOP 框架,它提供了在运行时织入代码的能力,通过使用切面(Aspect)定义横切关注点,并将它们与应用程序的主要逻辑(横切目标)分离开来。AspectJ 可以在运行时动态地将切面织入到应用程序的代码中,实现横切关注点的功能增强和逻辑注入。

aspectjweaver 是 AspectJ 的核心库,它提供了在运行时进行代码织入的功能。它可以与 Spring AOP 框架集成,用于实现更复杂和灵活的切面编程。

通过添加这个依赖,你可以在 Spring 应用程序中使用 AspectJ 的功能,例如定义切面、切点、通知等,并将它们与 Spring 的容器和代理机制结合起来,实现横切关注点的管理和应用。

 

 

<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.9.5</version>
</dependency>

这个依赖是 AspectJ 的运行时库(runtime library),用于在运行时执行被织入的切面(aspects)。

AspectJ 是一个功能强大的面向切面编程(AOP)框架,它可以在运行时对 Java 代码进行横切操作和增强。aspectjrt 是 AspectJ 框架的核心运行时库,它提供了实际执行被织入切面的功能。

当你使用 AspectJ 编写切面并将其织入到应用程序中时,aspectjrt 库将负责在运行时执行切面中定义的逻辑。它提供了切面定义的执行环境和运行时支持,包括切点匹配、通知执行和横切逻辑注入等功能。

通过添加这个依赖,你可以在应用程序中使用 AspectJ 的运行时功能,以实现切面逻辑的执行和应用。

请注意,aspectjrt 库通常与 aspectjweaver 库一起使用,aspectjweaver 提供了更高级的功能,例如在运行时动态织入切面和进行更复杂的代码增强。因此,在使用 AspectJ 进行编程时,通常需要同时添加 aspectjrt 和 aspectjweaver 依赖。

 

 

 

 

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>

这个依赖是 Spring 框架的一个模块,提供了与 AspectJ 框架集成的功能。

Spring Aspects 模块充分利用了 AspectJ 框架的强大功能,为 Spring 应用程序提供了面向切面编程(AOP)的支持。它允许你使用注解或 XML 配置来定义切面,并将这些切面织入到 Spring 应用程序中的目标对象中。

通过添加这个依赖,你可以使用 Spring Aspects 模块提供的注解和配置方式来编写切面,并将其应用到 Spring 应用程序的各个组件中。这样,你可以在应用程序中实现横切关注点的模块化和复用,例如日志记录、性能监控、事务管理等。

需要注意的是,为了使用 Spring Aspects 模块,你还需要同时添加 AspectJ 框架的相关依赖,如 aspectjrt 和 aspectjweaver。

希望对你有所帮助!如果还有其他问题,请随时提问。

 

 

 

 

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.21.RELEASE</version>
</dependency>

这个依赖是 Spring Framework 的核心模块之一,它提供了 Spring 应用程序的基本功能和上下文管理能力。

具体而言,这个依赖主要包含了 Spring IoC(Inversion of Control)容器的实现,该容器负责管理和组织应用程序中的对象(Bean)。它通过读取配置文件或使用注解来定义和配置 Bean,并负责创建、初始化和销毁这些 Bean。

除了 IoC 容器,spring-context 还提供了以下功能:

  1. 事件发布和监听:用于实现应用程序内部的事件驱动机制,组件可以发布事件并由其他组件监听和响应。
  2. 国际化支持:用于实现应用程序的国际化和本地化,提供了多语言资源管理和消息处理的功能。
  3. 资源加载和访问:用于加载和访问应用程序中的各种资源,如文件、URL、类路径等。
  4. 注解支持:提供了对各种 Spring 注解的支持,如依赖注入(@Autowired)、切面(@Aspect)等。
  5. 上下文缓存:用于缓存 Spring 上下文,提高应用程序的性能和效率。

标签:依赖,Spring,应用程序,Maven,切面,Aop,横切,AspectJ
From: https://www.cnblogs.com/cqh577641673/p/17529080.html

相关文章

  • SpringMVC框架详解:模型+核心组件+实现原理等详解
     MVC模型SpringMVC基于MVC模式,因此理解SpringMVC需要先对MVC模式有所了解。MVC是model、view、和controller的缩写,是软件开发中一种常用的架构模式。MVC各部分根据职责进行分离,使程序的结构更为直观,增加了程序的可扩展性、可维护性、可复用性。可以用如下的图形来......
  • springboot 加载自定义的属性配置文件 或者xml文件
    1、properties user.propertiesname=zhangshanage=18  2、xml Pen1.xml<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd"><properties><......
  • spring各版本冲突:Failed to process import candidates for configuration class [com
    今天又发现一个通病##springcloud-springcloudalibaba-springboot的版本对应关系#########报错如下:Failedtoprocessimportcandidatesforconfigurationclass[com.example.SunApplication];nestedexceptionisorg.springframework.core.NestedIOException:ASMC......
  • idea 配置使用 Maven
    idea配置—使用Maven前期准备下载jdk、apache-tomcat、apache-maven、idea此电脑—>属性—>高级系统设置—>环境变量—>编辑系统变量新建系统变量:变量名:CATALINA_HOME变量值:下载tomcat所在路径变量名:JAVA_HOME变量值:jdk所在路径变量名:MAVEN_......
  • 3. SpringBoot整合junit
    1.回顾Spring整合junit‍@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=SpringConfig.class)publicclassUserServiceTest{@AutowiredprivateBookServicebookService;@TestpublicvoidtestSave(){bookS......
  • 通过aop 注解的方式防止表单重复提交
    pom.xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><a......
  • kubesphere devops部署springboot项目
    一:使用流水线devops部署springboot项目的流程: 二、本次项目结构: 其中Dockerfile:FROMopenjdk:8-jdkLABELmaintainer=leifengyang#dockerrun-ePARAMS="--server.port9090"ENVPARAMS="--server.port=8080"RUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/et......
  • 金蝶Apusic 应用服务器9.0版本上,springboot项目关于文件上传的一个问题
    金蝶Apusic应用服务器9.0版本上,springboot项目关于文件上传的一个问题 项目部署在金蝶v9上使用文件上传时,请求接口获取不到参数。但是在本地启动应用是可以获取到参数,没有任何问题。 @RequestMapping("doUpload")publicvoiddoUpload(DocAttaPagepage,@RequestParam(val......
  • Spring中bean标签的所有属性以及作用
    在Spring中,bean标签用于定义和配置bean对象。以下是常用的bean标签属性及其作用:id:指定bean的唯一标识符。在整个Spring容器中,每个bean都必须有一个唯一的id。class:指定bean的类名。通过该属性,Spring将实例化并管理指定类的对象作为bean。name:用于指定bean的名称。除了id属性......
  • Spring中getBean方法的使用方法
    在Spring中,可以使用getBean()方法从容器中获取一个已注册的bean实例。以下是getBean()方法的使用方法:使用ApplicationContext获取bean://创建Spring应用上下文ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");//通过bean的名......