4.8 Proxy 动态代理

Proxy 动态代理是 jfinal AOP 的底层实现机制。jfinal 4.0 版本新增了 com.jfinal.proxy 模块用于消除对 cglib/asm 的依赖来实现动态代理。

proxy 模块需要运行在 JDK 环境之下,如果需要运行在 JRE 之下,可以添加如下配置来支持:

  1. public void configConstant(Constants me) {
  2.  
  3. // 4.6 之前的版本的配置方式: me.setProxyFactory(new CglibProxyFactory());
  4. me.setToCglibProxyFactory(); // 4.6 版本新增配置方式
  5. }

上面的配置将切换到 cglib 对 proxy 模块的实现,需要在 pom.xml 中添加其 maven 依赖:

  1. <dependency>
  2. <groupId>cglib</groupId>
  3. <artifactId>cglib-nodep</artifactId>
  4. <version>3.2.5</version>
  5. </dependency>

如果是在 "非 web 环境" 下使用,配置方法如下:

// 4.6 之前的版本的配置方式: ProxyManager.me().setProxyFactory(new CglibProxyFactory());
ProxyManager.me().setToCglibProxyFactory();