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

静态编程语言Spring无法自动安装@Bean anNote

阎星华
2023-03-14

我遇到了spring和kotlin的问题:

这是:

我有一个类MyConfig定义为

@Configuration
class MyConfig

   @Bean
   fun restTemplate(builder: RestTemplateBuilder): RestTemplate =
        builder.build()

另一方面,我定义了另一个类MyService

@Component
class MyService constructor(private val restTemplate: RestTemplate) {

    fun test() {
        // Use restTemplate
    }
}

但我得到的只是以下信息:

Description:

Field restTemplate in my.package.MyService required a bean of type 'org.springframework.web.client.RestTemplate' that could not be found.


Action:

Consider defining a bean of type 'org.springframework.web.client.RestTemplate' in your configuration.

此问题仅发生在@Configuration类中定义的bean(用@Bean注释),而不是声明为@Component或@Service的bean。

对于纯Java中的同类体系结构,我没有这样的问题。

  • 我使用spring boot 2.0.1

那么,我错过什么了吗?

共有1个答案

袁河
2023-03-14

您的restTemplate方法不在您的MyConfig类中-您声明了一个空类,后跟一个顶级函数。您缺少使函数成为类内方法的花括号:

@Configuration
class MyConfig {

   @Bean
   fun restTemplate(builder: RestTemplateBuilder): RestTemplate =
        builder.build()

}
 类似资料:
  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 我试图发送一个用户到一个活动的基础上,如果他们的电子邮件被验证,然后如果他们有一个用户名。到目前为止,我的代码如下所示: 和 我如何通过活动?我试着将它作为字符串传递,但没有成功。我做错了什么?

  • 我正在尝试用Java编写下面用Kotlin编写的代码。我无法创建DefaultElementsAdapter,因为我无法获得正确的语法。 我无法获得正确的Java代码 Kotlin班是这样的 我正在尝试使用图书馆https://github.com/m7mdra/HtmlRecycler

  • 当结合使用SpringWebFlux和Kotlin协同程序时,我很难理解一个简单的RESTfulWS响应处理场景。假设我们在REST控制器中有一个简单的WS方法,该方法可能返回大量(数百万)响应“things”: 这正如人们所期望的那样:只要使用流媒体类型(例如“application/x-ndjson”),结果就会流式传输到客户端。在更复杂的服务调用中,也考虑了错误/警告的可能性,我希望返回以下

  • 我在静态编程语言中扩展ArrayAdapter时遇到了问题。 这里的代码: 编辑与ArrayAdapter扩展无关。我的问题是构装师的理解。