• 4.8 Proxy 动态代理

    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 环境" 下使用,配置方法如下:

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