用Kotlin解释@Configuration @AutoConfigureAfter

我是一个python开发人员,对于Spring引导和gradle是全新的。 不过,我很好,与Java和Kotlin尽我所能。 我试图在本地主机上运行Spring Boot应用程序(Kotlin)。 除了这些行外,Gradle构建工作正常

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

没有值传递给参数resourceProperties,mvcProperties,beanFactory ….

我明白WebMvcAutoConfigurationAdapter构造函数期望这些参数,但不应该通过注释@Configuration@AutoConfigureAfter自动传递。

由于我是春季引导全新的,我不知道什么是错的,在哪里。 由于这段代码已经在生产中运行,所以我很困惑我是否缺少一些本地配置或者gradle conf或其他东西。

WebMvcAutoConfigurationAdapter并不打算由应用程序代码直接使用。 您应该扩展WebMvcConfigurerAdapter 。

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

@AutoConfigureAfter只控制自动配置类的顺序,对依赖注入没有影响。 它也只影响自动配置类,所以我们可能在你的Assembly类中什么也不做。

@Configuration也不会影响依赖注入。 配置类可以注入依赖关系,注入@Autowired注释的字段或构造函数。 以前,这个构造函数也必须使用@Autowired进行注释,但是从Spring Framework 4.3(Spring Boot 1.4)开始 ,如果类只有一个构造函数,注释是不必要的。