<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
注意:proxy-target-class屬性值決定是基於接口的仍是基於類的代理被建立。若是proxy-target-class 屬性值被設置爲true,那麼基於類的代理將起做用(這時須要cglib庫)。若是proxy-target-class屬值被設置爲false或者這個屬性被省略,那麼標準的JDK 基於接口的代理將起做用。
即便你未聲明 proxy-target-class="true" ,但運行類沒有繼承接口,spring也會自動使用CGLIB代理。 spring
高版本spring自動根據運行類選擇 JDK 或 CGLIB 代理 spa