gpt4 book ai didi

java - @Configuration @AutoConfigureAfter 与 Kotlin 的解释

转载 作者:搜寻专家 更新时间:2023-11-01 03:18:24 28 4
gpt4 key购买 nike

我是一名 python 开发人员,对 Spring boot 和 gradle 完全陌生。但是我对 Java 很满意,并尽我最大的努力使用 Kotlin。我试图在本地主机上运行 Spring Boot 应用程序(Kotlin)。除了这些行之外,Gradle 构建工作正常

@Configuration
@AutoConfigureAfter(DispatcherServletAutoConfiguration::class)
open class Assembly : WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter()
{
.
.

No value passed for parameter resourceProperties, mvcProperties, beanFactory....

我知道 WebMvcAutoConfigurationAdapter 构造函数需要这些参数,但它们不应该通过注释 @Configuration@AutoConfigureAfter 自动传递。

因为我是 spring boot 的新手,所以我不知道哪里出了问题。由于这段代码已经在生产中运行,所以我真的很困惑我是否缺少一些本地配置或 gradle conf 或其他东西。

最佳答案

WebMvcAutoConfigurationAdapter 不打算由应用程序代码直接使用。你应该扩展 WebMvcConfigurerAdapter相反。

我怀疑您已经升级到 Spring Boot 1.4。在该版本中,WebMvcAutoConfigurationAdapter 从使用字段注入(inject)更改为构造函数注入(inject)。这意味着子类现在需要调用传递所需参数的 super 构造函数。

@AutoConfigureAfter 只控制自动配置类的顺序,对依赖注入(inject)没有影响。它也只会影响自动配置类,因此我们可能不会对您的 Assembly 类执行任何操作。

@Configuration 也不会真正影响依赖注入(inject)。配置类可以将依赖项注入(inject)到用 @Autowired 注释的字段中或注入(inject)到它们的构造函数中。以前,该构造函数也必须用 @Autowired 注释,但是,as of Spring Framework 4.3 (Spring Boot 1.4) ,如果该类只有一个构造函数,则不需要注释。

关于java - @Configuration @AutoConfigureAfter 与 Kotlin 的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39717450/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com