Я запускаю проект HelloWorld с использованием времени загрузки во времени (LTW) в аспектеJ. Я определил только абстрактный аспект. Я не определен конкретный аспект, но упоминается "name"
атрибут <concrete-aspect>
как main.java.aop.helloworld.MyHelloWorldAspect
в aop.xml, как показано ниже:Обязательно ли реализовать конкретный аспект в аспектеJ
<concrete-aspect name="main.java.aop.helloworld.MyHelloWorldAspect"
extends="main.java.aop.helloworld.HelloWorldAspect">
<pointcut name="helloWorld"
expression="execution(public static void HelloWorld.say*(..))" />
</concrete-aspect>
Я мог бы запустить штраф приложений и получении желаемого результата. Но ниже строка печатается для определения конкретного аспекта.
[[email protected]] info define aspect main.java.aop.helloworld.MyHelloWorldAspect
Мне интересно, является ли конкретная реализация класса обязательной или нет, поскольку она печатает сообщение INFO для определения конкретного аспекта. Кроме того, скручивание и применение аспект и рекомендации отлично работают в соответствии с приведенным ниже сообщением INFO.
[[email protected]] weaveinfo Join point 'method-execution(void main.java.aop.helloworld.HelloWorld.say(java.lang.String))' in Type 'main.java.aop.helloworld.HelloWorld' (HelloWorld.java:5) advised by before advice from 'main.java.aop.helloworld.MyHelloWorldAspect' (HelloWorldAspect.java)
Может ли кто-нибудь объяснить, является ли конкретная реализация класса обязательной или нет. Если это не требуется, пожалуйста, помогите мне понять, как это работает. Благодарю.
Отлично! Большое спасибо за рассылку моего запроса. – sridhar