cglib相关内容

Spring java配置中调用@Bean注解的方法

我很好奇 spring 注入如何处理带有 @Bean 注释的调用方法.如果我在一个方法上放置一个 @Bean 注释,并返回一个实例,我明白这告诉 spring 通过调用该方法并获取返回的实例来创建一个 bean.但是,有时必须使用该 bean 连接其他 bean 或设置其他代码.通常的做法是调用 @Bean 注释方法来获取实例.我的问题是,为什么这不会导致 bean 的多个实例漂浮? 例如, ..
发布时间:2021-12-03 17:59:31 Java开发

如何在具有受保护方法的 Spring 中注入 JDK 代理类?

我有一组相当奇怪的情况.我将 Spring 3.0.6 与实现和接口的 bean 一起使用.到目前为止,很正常的东西.我的 bean 也有一些受保护的方法.我正在使用一些 AOP(JDK 代理)并且一切正常. 当我想将这个 bean 注入另一个包类时,我的问题就出现了.在正常情况下,我将能够注入实现并访问受保护的方法.遗憾的是,由于是JDK代理的,所以只能基于接口注入. 因为我需要访问 ..
发布时间:2021-11-11 04:37:36 其他开发

无法重新定义类当我尝试重新转换类时

我试图动态修改类,例如在一行之前调用 sleep().我在运行时使用 Attach 方法将代理附加到 jvm.然后我从 jvm 得到目标类,并修改它(添加一行来调用 sleep()).而且我遇到了 redine 类错误.我正在使用JDK1.6.我正在使用 ASM 核心 API 来修改类.错误: Caused by: java.lang.UnsupportedOperationException: ..
发布时间:2021-11-11 04:33:38 其他开发

如何拦截Java中的对象创建

我有一个奇怪的要求.我猜. 我想使用我创建的自定义代理来装饰实现特定接口的所有对象,但我需要它对代码本身透明.可以包含在构建过​​程中的东西将是完美的. 我在 AOP 中思考,但没有看到这样的功能,我正在寻找想法,甚至是疯狂的想法.我正在考虑在编译后更改源代码并重新编译它至少替换对 new 的直接调用(我想这不会通过反射创建对象,但会是一个不错的开始)但我可以想到一百万个问题这可能会破 ..
发布时间:2021-11-11 04:32:04 其他开发

使用大量 AOP 请求范围 bean 时的性能问题

我正在使用 Spring 3 开发一个半大型应用程序,并且在一次将数百名用户投入使用时遇到了性能问题.我正在使用 Spring 的 AOP 代理使用多个请求范围的 bean,我可以看到,每次我在这些 bean 中的一个上调用任何方法时,都会调用 CGLIB 拦截器,然后调用 AbstractBeanFactory.getBean(),它调用 add()现有 Spring bean 的同步集.由于这 ..
发布时间:2021-11-11 04:28:24 其他开发

如何在 Spring 配置文件中混合使用 CGLIB 和 JDK 代理?

此线程与我在此处遇到的关于访问受建议类的受保护方法的需求有关.我正在使用 Spring 3.0.6,并创建了一个 Spring 分析方面,我将其应用于使用 JDK 代理的大量 bean. 然而,由于需要访问一个特定 bean 中的受保护方法,我建议使用 CGLIB.所有其他 bean 我想继续使用 JDK 代理. 我混合使用了注解和 xml 配置,但这个特定方面是在 XML 配置中定义 ..
发布时间:2021-11-11 04:28:00 其他开发

在 Spring 中混合使用 JDK 和 CGLIB 代理

我有一个使用 Spring 运行的应用程序,我在某些地方使用了 AOP.由于我想在接口级别使用@Transactional 注解,所以我必须允许Spring 创建JDK 代理.所以,我没有将 proxy-target-class 属性设置为 true.另一方面,我不想为我想要建议的每个类都创建一个接口:如果接口没有意义,我只想拥有实现,而 Spring 应该创建一个 CGLIB 代理. 一切正常 ..
发布时间:2021-11-11 04:21:48 其他开发

同一个类调用在 Spring AOP cglib 中无效

假设我们有以下课程 @Service类我的类{公共无效 testA() {测试B();}@交易public void testB() { ... }} 现在,如果我们在测试中调用myClass.testA();,那么@Transactional 对testB 将不会生效.我认为原因如下. Cglib 将为 MyClass 创建一个代理 bean,如下所示: Class Cglib$My ..
发布时间:2021-11-11 04:20:54 其他开发

如何在运行时重新转换类

我正在修改已经加载到 jvm 中的类.我找到的解决方案是: 1st 将代理附加到由 pid 指定的 jvm.(例如 8191)(代码:AttachTest) 2nd 从已加载到 jvm 中的类中找到要修改的类(例如 8191). 第三次使用 Instrument 添加变压器(代码:AgentMain) 4th 修改transform方法中的类(例如Person)(代码:DemoTran ..
发布时间:2021-11-11 04:17:10 其他开发

从注释处理器应用 CGLib 代理

我有一个可以在编译时处理自定义注释的工作注释处理器,我想应用 CGLIB 代理以将逻辑应用于使用 MethodInterceptor 的某些方法,我有两件事独立工作.我不知道如何应用注释处理器中的 CGLIB 代码. 我想要做的是能够使用我的自定义注释对类进行注释,并让它自动添加我已经应用到它的 Enhancer 代码,这样我就不必手动应用Enhancer 代码我自己. 这似乎是编译时 ..
发布时间:2021-11-10 23:00:06 其他开发

从注释处理器应用 CGLib 代理

我有一个可以在编译时处理自定义注释的工作注释处理器,我想应用 CGLIB 代理以将逻辑应用于使用 MethodInterceptor 的某些方法,我有两件事独立工作.我不知道如何应用注释处理器中的 CGLIB 代码. 我想要做的是能够使用我的自定义注释对类进行注释,并让它自动添加我已经应用到它的 Enhancer 代码,这样我就不必手动应用Enhancer 代码我自己. 这似乎是编译时 ..
发布时间:2021-11-10 22:59:47 其他开发

保留 CGLIB 代理的注释?

我正在尝试使用 AOP 框架创建一个对象,该框架使用 CGLIB 创建代理对象.奇怪的是,“增强型"代理对象没有前一个类的任何注释! 谁能告诉我如何让 CGLIB 保留它创建的代理上的注释? 干杯!尼拉夫 解决方案 CGLIB 创建给定类的子类来生成代理.除非在注释定义中明确指定,否则子类中不会保留注释.@Inherited 注释被使用为此目的. 您可以在您定义的注解中使 ..
发布时间:2021-11-10 22:06:17 其他开发

Apache Wicket - java.lang.NoClassDefFoundError:无法初始化类 net.sf.cglib.proxy.Enhancer

需要有关修复运行时未找到类错误的指导.我已经检查了所有类似的答案,但无法解决我面临的问题. 项目编译通过,war文件成功部署到Tomcat上,没有问题当第一个 URL 被命中时,运行时会出现以下堆栈跟踪 cglib 在我的例子中是 Apache Wicket IOC 的依赖,它依赖于 wicketstuff-restannotations.wicketstuff-restannotat ..
发布时间:2021-09-24 20:29:45 其他开发

Java - 动态创建子类

我想以编程方式创建一个子类.我想我几乎没有选择 - Javassist、CGLib、BCEL 或 ASM. 用例是一个应用程序的内部是面向类的,而扩展是基于类的.因此,我不能将单个类作为由外部化脚本驱动的多个扩展的基础. 现在 - 我该怎么做?我找到了拦截​​方法调用、字段访问、初始化等的例子.但没有关于子类化. 我想以这样的课程结束: 有一个我想要的名字. 是给定类的( ..
发布时间:2021-08-31 19:54:09 其他开发

通过存储在字符串中的名称调用方法而无需反射 API?

我知道,使用反射 API,我们可以通过存储在字符串中的名称来调用方法. 但是,反射 API 不能用于高性能应用程序.在我的应用程序中,方法将以非常高的速度被调用.所以,我不能使用反射 API. 那么,反射 API 有哪些替代方案? 我做了研究,发现可以使用 cglib 和其他代码生成库. 但是,我没有找到任何通过存储在字符串中的名称来调用方法的示例. 使用反射替代方案 ..
发布时间:2021-07-06 18:46:08 其他开发

服务 bean 在 spring cglib 代理中注入失败

我有一个注释 @Retention(RetentionPolicy.RUNTIME)@目标(元素类型.方法)公共@interface PartnerProxy {} 还有一个建议 @Component@方面公共类 AnnotationAdvice {@Around("@annotation(PartnerProxy)")公共对象 pc(ProceedingJoinPoint joinPoin ..
发布时间:2021-06-22 20:33:02 其他开发

春天 + 龙目岛 + @SneakyThrows

我正在使用 @SneakyThrows SpringBoot 项目中的rel ="noreferrer"> Lombok 功能.当CGLIB代理实施时,我对此功能有疑问它抛出 java.lang.Exception:意外的异常,可以,但是是 . 可以通过某种方式解决吗? 提供示例. 有接 ..
发布时间:2021-05-30 20:59:22 其他开发

覆盖等于cglib代理

我想使用CGLIB代理将我自己的可重用equals()方法添加到现有对象中. 对象不一定实现任何接口,我需要能够将代理对象强制转换为原始类(而无需获取代理的目标). 不幸的是,似乎CGLIB实现了自己的equals()方法并确保仅调用该方法:有一个私有静态类(EqualsInterceptor),其方法intercept()实现了用于比较代理对象的合理逻辑.问题在于该方法最后将比较委托 ..
发布时间:2021-05-04 20:37:17 其他开发

Mockito-core 2.7.19和CGLIB

我正在运行一个使用Google的catch-exception的测试. 我使用的是模仿核心版本2.7.19,捕获例外版本1.2.0和junit 4.12. 在测试中使用以下语句时: @RunWith(org.mockito.junit.MockitoJunnitRunner.class) .... //given don't care. //when catchException( ..
发布时间:2021-02-14 19:28:37 其他开发

为什么cglib不代理超级调用?

我在下面具有以下结构(我使用注释@Intercepted表示被拦截的方法):当我不使用而将被拦截的方法称为intercepted()时 super关键字按预期方式被称为拦截器.但是,当以以下方式调用super.intercepted()时,则永远不会调用拦截.为什么会这样? public class Base { @Intercepted public void intercep ..
发布时间:2020-11-29 23:08:44 其他开发