【发布时间】:2019-02-18 11:32:20
【问题描述】:
阅读 Spring AOP 文档 (link),我很难理解这些段落(也许也因为英语不是我的母语)。
首先,我阅读
此外,在某些环境中,此支持支持加载时间 无需对应用服务器的任何修改进行编织 需要添加的启动脚本
-javaagent:path/to/aspectjweaver.jar或(正如我们稍后在 本节)-javaagent:path/to/org.springframework.instrument-{version}.jar(以前称为spring-agent.jar)。
和
开发人员修改一个或多个构成应用程序上下文的文件 启用加载时编织
哪些文件? @Aspect 类和aop.xml 文件?
然后,当在同一小节中描述一个例子时,他们说
我们还有最后一件事要做。这部分的介绍确实说了 可以在每个
ClassLoader的基础上选择性地打开 LTW 与 Spring,这是真的。 但是,对于此示例,我们使用 用于开启 LTW 的 Java 代理(随 Spring 提供)。我们使用 以下命令运行前面显示的 Main 类:
他们将Java Agent 应用到 JVM。
-javaagent:C:/projects/foo/lib/global/spring-instrument.jar
现在我有几个疑问。
如果我@EnableLoadTimeWeaving,我需要spring-instrument Jar 文件作为Java Agent吗?
我想答案是肯定的,因为我们需要在加载之前将字节码添加到class 文件中。但我们将不胜感激。
Jar 命名有点模棱两可,首先他们提到spring-agent.jar,然后他们使用org.springframework.instrument-{version}.jar,然后是spring-instrument.jar。
我们总是在谈论同一个 Jar 文件吗?
【问题讨论】:
标签: spring spring-boot aspectj spring-aop