Ich habe Spring Bean mit Session-Bereich und AOP CGLIB-Proxy.Haben Sie Spring AOP neu verpackt CGLIB Version
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="restClient" class="com.test.services.RestClient" scope="session">
<constructor-arg ref="dataSource"/>
<aop:scoped-proxy /> <!--proxy-target-class="true" default is true to use cglib-->
</bean>
</beans>
Im Frühjahr-AOP-4.2.xsd seine haben <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
sind klassenbasierte (CGLIB) Proxies geschaffen werden? Dies ist die Standardeinstellung. in Um zu standardmäßigen Java-Schnittstellen-basierten Proxies zu wechseln, schalten Sie dieses Flag auf "false".
Dies bedeutet, dass der Standard-CGLIB-Proxy erstellt wird. Aber mein Maven-Projekt hat keine CGLIB-Abhängigkeit Ich habe nur Spring-Kontext und Spring-Web und im Abhängigkeitsdiagramm hat es Spring-Aop, aber ohne transitive Abhängigkeit von cglib. Mein Projekt kompiliert und ausgeführt werden, ohne diese Abhängigkeit zu haben:
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.1</version>
</dependency>
Wenn seine Notwendigkeit cglib Abhängigkeit oder feder aop v4.2.5 bereits cglib Version neu verpacken müssen enthalten?