Kompiliert Spring AOP das Zeitweben oder lädt es das Zeitweben?

Ich beginne Spring AOP für ein Projekt zu verwenden und bin etwas verwirrt über das Weben. Ich weiß, dass Spring AOP eine Abhängigkeit von AspectJweaver.jar hat, aber wie die Dokumentation sagt, ist dies nicht für das Weben, sondern nur für die Verwendung einiger Klassen aus diesem Jar.

Aber meine Frage ist, ob Spring AOP, wenn es AspectJ nicht zum Weben verwendet, über ein eigenes Weben verfügt und zum Ladezeitpunkt oder zur Kompilierungszeit ausgeführt wird.

Der relevante Teil meiner Spring-Konfigurations-XML-Datei ist:

<context:annotation-config />

<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="get*" read-only="true" />
        <tx:method name="*" />
    </tx:attributes>
</tx:advice>

<aop:config>
    <aop:pointcut id="myaop" expression="execution(* my.package.*.*(..))" />
    <aop:advisor advice-ref="txAdvice" pointcut-ref="myaop" />
</aop:config>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage