CGLIBとは何ですか、それはどのようにSpringと関連していますか? Spring Frameworkを使用する場合、CGLIBの使用を明示的に定義する必要がありますか?
Ref Spring docs 。 CGLIBとは何ですか?CGLIBはSpringとどのように関連していますか?
CGLIBはコード生成ライブラリです。 SpringはCGLIBを使用してプロキシを生成します。
Spring AOPはデフォルトでAOPプロキシに標準のJDK動的プロキシを使用します。これにより、任意のインターフェース(またはインターフェースのセット)をプロキシできます。
はい、CGLIBベースのプロキシを明示的に使用するようにSpringに指示する必要があります。
Xmlを使用:
<aop:aspectj-autoproxy proxy-target-class="true"/>
proxy-target-classプロパティをtrueに設定すると、CGLIBベースのプロキシが有効になります。
注釈を通じて:
@Configuration
@EnableAspectJAutoProxy(proxyTargetClass=true)
public class AppConfig {
// ...
}
クラスパスにCGLIBを追加する必要はありません。 Spring 3.2の時点で、CGLIBは再パッケージ化され、spring-core JARに含まれています。
this もご覧ください。