用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)开始 ,如果类只有一个构造函数,注释是不必要的。