spring使用<context:load-time-weaver/>实现静态代理所遇到的问题
发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,本篇内容主要讲解"spring使用实现静态代理所遇到的问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"spring使用实现静态代理所遇到的问题"吧!第一
千家信息网最后更新 2025年01月30日spring使用<context:load-time-weaver/>实现静态代理所遇到的问题
本篇内容主要讲解"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安全错误
数据库的锁怎样保障安全
数据库系统与安全性
ad域 文件服务器
思瑞网络技术有限公司
网络安全隐患排查整治讲话
牡丹花模拟器连接服务器失败
华为网络安全检查
冷水江手机软件开发
兴庆区数据防泄密软件开发公司
上海服务器内存回收
读取kafka数据到数据库
下列不属于网络安全管理
2019北京网络安全宣传周
国家要建立血液数据库
手机app股票软件开发
网络安全工程师月薪3万
华为手机网络安全系统
凉山跑得快软件开发
网络安全员报名竞赛
山西好软件开发培训
软件开发公司出纳
网络安全与执法专业国家线
6.1网络安全课件
j2ee软件开发流程
宝德网络技术有限公
广东公安软件开发商
益阳网络技术员
公务员年报中间库数据库
tplink110u打印服务器
网页连接微信小程序云数据库
大学数据库专业