2016-04-22 4 views
0

У меня есть фасоль весны с областью сеанса и прокси-сервером AOP CGLIB.У этого есть весна AOP переупакована версия CGLIB

<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> 

В весенне-AOP-4.2.xsd его имеют <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">

классовые основе (CGLIB) прокси должны быть созданы? Это значение по умолчанию; в , чтобы переключиться на стандартные прокси-серверы на основе интерфейса Java, установите этот флаг на «false».

Это означает, что создается прокси-сервер CGLIB по умолчанию. Но у моего проекта maven нет зависимости CGLIB. У меня есть только весенний контекст и весна-паутина, а на диаграмме зависимостей у него есть весна-ауп, но без транзитивной зависимости от cglib. Мой проект компилируется и работать без иметь такую ​​зависимость:

 <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
      <version>3.2.1</version> 
     </dependency> 

Если его необходимо включить CGLIB зависимость или пружинного АОП v4.2.5 уже переупаковки CGLIB версию?

ответ

1

Весна включает в себя переупаковенную версию cglib и использует только эту версию. Неважно, какую версию cglib вы используете в пути к классу. Только установка флага имеет значение.