Читая документацию Spring AOP
( ссылка ), я испытываю трудности (возможно, также из-за того, что английский не является моим родным языком), понимая эти абзацы.
Во-первых, яread
Кроме того, в некоторых средах эта поддержка позволяет выполнять ткачество во время загрузки без внесения каких-либо изменений в сценарий запуска сервера приложений, который необходим для добавления -javaagent:path/to/aspectjweaver.jar
или (как мы опишем ниже в этом разделе).) -javaagent:path/to/org.springframework.instrument-{version}.jar
(ранее назывался spring-agent.jar
).
И
Разработчики изменяют один или несколько файлов, которые формируют контекст приложения, для включения процесса загрузки во время загрузки
Какие файлы?@Aspect
классов и aop.xml
файлов?
Затем, описывая пример в том же подразделе, они говорят:
У нас есть еще одно, что нужно сделать,Во введении к этому разделу говорилось, что с помощью Spring можно выборочно включить LTW на основе ClassLoader
, и это действительно так. Однако для этого примера мы используем агент Java (поставляется с Spring) для включения LTW.Мы используем следующую команду для запуска класса 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?