Spring Proxy类和Kotlin中的Null指针异常

Spring Proxy类和Kotlin中的Null指针异常,第1张

Spring Proxy类和Kotlin中的Null指针异常

在Kotlin 中,默认情况下,类和成员都是最终的。

为了使代理库(CGLIB,javaassist)能够代理一个方法,必须将其声明 为非最终类 且在 非最终
类中因为这些库通过子类实现代理。将您的控制器方法更改为:

@RequestMapping("{id}", method = arrayOf(RequestMethod.GET))@Cacheable(cacheNames = arrayOf("regions"))open fun get(@PathVariable id: Long): RegionResource {    return this.service.get(id)}

您可能会在控制台中看到有关

RegionController
方法不接受代理的警告。

[Kotlin编译器插件](https://kotlinlang.org/docs/reference/compiler-

plugins.html#spring-support)

Kotlin团队已经意识到了这一困难,并创建了一个插件来标记标准AOP代理候选人,例如

@Component
使用
open

您可以在以下位置启用插件

build.gradle

plugins {  id "org.jetbrains.kotlin.plugin.spring" version "1.1.60"}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存