千家信息网

spring使用<context:load-time-weaver/>实现静态代理所遇到的问题

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"spring使用实现静态代理所遇到的问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"spring使用实现静态代理所遇到的问题"吧!第一
千家信息网最后更新 2025年12月02日spring使用<context:load-time-weaver/>实现静态代理所遇到的问题

本篇内容主要讲解"spring使用实现静态代理所遇到的问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"spring使用实现静态代理所遇到的问题"吧!

第一步:

创建要实现静态的类,以及Advice增强类实现,内容如下:

需要静态代理的类:

public interface IITestBean {    void test();}
public class TestBean implements IITestBean {    @Override    public void test() {        System.out.println("test");    }}

Advice增强类:

@Aspectpublic class AspectTest {    @Pointcut("execution(* *.test(..))")    public void test() {        System.out.println("我切入了");    }    @Before("test()")    public void beforeTest() {        System.out.println("beforeTest()");    }        @After("test()")    public void afterTest() {        System.out.println("afterTest()");    }    @Around("test()")    public Object aroundTest(ProceedingJoinPoint p) {        System.out.println("before1");        Object o = null;        try {            o = p.proceed();        } catch (Throwable throwable) {            throwable.printStackTrace();        }        System.out.println("after1");        return o;    }}

第二步:

在class目录下的META-INF(没有则创建)文件夹下建立aop.xml,内容如下

                                

第三步:

编写spring的配置spring-aspect.xml,内容如下:

        

第四步:

编写测试类,内容如下:

public class AspectTest {    public static void main(String[] args) {        ApplicationContext context = new ClassPathXmlApplicationContext("spring-aspect.xml");        TestBean bean = (TestBean)context.getBean("test");        bean.test();    }}

第五步:

测试时,需下载并引入org.springframework.instrument.jar文件,在idea中配置如下:

第六步:

运行中遇到的问题

问题1:出现了一个java.lang.VerifyError: Expecting a stackmap frame at branch target 7错误

解决方法:idea中VM option,需加入-XX:-UseSplitVerifier

问题2:circular advice precedence错误

解决方法:

原因Advice增强器AspectTest,必须要按照@Before->@Around->@After编写代码,上面代码调整顺利即可。但是在spring动态代理没有该顺序不对,不会抛异常。

第七步:

我们可以看到正常的静态类代理结果如下:

到此,相信大家对"spring使用实现静态代理所遇到的问题"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

问题 静态 代理 内容 方法 代码 文件 错误 学习 测试 配置 不对 实用 更深 兴趣 动态 原因 实用性 实际 操作简单 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据通讯与ip网络技术 外卖套餐数据库设计 网络安全手抄报一年级轮廓 成都久一互动网络技术黄叶红 怎么看连接的服务器的文件夹 数据库拆解视频教程 用友t6怎么进到数据库 软件开发公司账务处理流程 国家网络安全产业园电话 引文数据库没有权限 新浪企业邮箱服务器 1m带宽服务器够多少人玩游戏 上海工控软件开发收费报价表 先天性脊柱侧凸大数据库 计算机编程和软件开发一样吗 北斗互联网科技有限公司 部队网络安全等级保护 网络安全学术研究现状 工行软件开发 笔试 广州市人本网络技术 如何设置服务器安全 财富互联网科技有限公司 长春多媒体博物馆软件开发 上海尚兔网络技术有限公司 软考数据库怎么样啊 全球第五大软件开发公司 oracle数据库表结构同步 在数据库资源不足的情况下 张店机械软件开发报价 软件开发自学教程购买教程
0