当前位置: 首页 > 知识库问答 >
问题:

Spring@Lazy annotation不适用于kotlin

闾丘朗
2023-03-14

我试图用Kotlin在spring boot应用程序中懒洋洋地初始化bean。

我有一个spring@配置文件,其中有一个延迟注释的bean:

@Lazy
@Bean
open fun createSomething(): Something {
    return Something("yo")
}

我有一个rest控制器,在那里我懒散地自动连接bean

@Lazy
@Autowired
private lateinit var something: Something

我正在访问某个RequestMapping中的类中的变量

println(something.thing)

我在@Bean方法中添加了日志,并确认bean没有急切地初始化。问题是即使在访问时也没有初始化。该类是一个简单的开放类。

open class Something(val thing: String)

bean初始化从未发生过。我不知道我做错了什么。

以下是版本:

Java:1.8.0\u 191

静态编程语言

Spring防尘套:2.0.2。发布

我不知道这是某种版本问题,还是我在使用懒豆时做了些什么。感谢您的帮助。

共有1个答案

东方方伟
2023-03-14

更新你的静态编程语言编译器。@Lazy在静态编程语言v1.3. x中对我来说很好。

 类似资料:
  • 问题内容: 我正在使用Spring Batch版本2.2.4.RELEASE我试图用有状态的ItemReader,ItemProcessor和ItemWriter Bean编写一个简单的示例。 在集成测试中,我在内部静态java config类中声明我的bean,如下所示: 该测试通过。 但是,一旦我将 StatefulItemReader 定义为步域范围的bean(这对于有状态阅读器比较好),就

  • 我有一个实体: 而听众: 我正在使用为这个实体(1.4.1)和EclipseLink生成的Spring Data。代码行为如下所示: 这个问题在2009年已经有人描述过了,但是他们没有提出任何解决方案。不知道有没有人有办法解决?

  • 当我使用这样的routes statique时,我正在使用Spring cloud gateway(它工作得很好): 但是,当我想将routes Dynamicque与DiscoveryClientRoutedDefinitionLocator一起使用时,我的功能是: 这是我的申请表。属性: 当我叫这个urihttp://localhost:8888/PRODUCT-SERVICE/product

  • 我正在开发一个Spring Boot项目,目前正在尝试实现验证。例如,我有以下类: 包abcdef.mypackage 您可以看到,我已经用我想要的验证对所有字段进行了注释。传入请求由以下控制器类处理: 当我现在用一个空的用户名值发出请求时,Spring Boot仍然接受它并存储到数据库中。我在StackOverflow上找到了一些关于缺少依赖项的问题(和答案),但是我把它们都包括进来了。你可以在

  • 我正在尝试让Spring事务管理在我的新Spring Boot MyBatis应用程序中工作。 到目前为止,我已经设法让一切都以最小的问题工作——它只是让注释正常运行。目前,无论方法是否被注释,所有语句都会立即提交。 Spring Boot为您提供了如此多的样板配置,以至于很难找到丢失的链接。 我的包含以下依赖项: 我的包含以下数据源配置: bean中不按预期运行的方法的一个简单示例如下: 引发异

  • 我的rest服务(SP)是使用spring boot构建的,spring SAML用于身份验证,UI使用Nginx作为反向代理。如果使用直接URL通过返回/重写调用服务,一切都正常:调用IDP获得身份验证并返回响应。但若我使用proxy_pass调用同一个服务,它将失败,因为响应的InResponseToField与发送的消息不对应 我有一个结构,其中UI使用NGINX作为Web服务器,并通过NG