Autowired
字段是null
在初始化项目时:
package com.lynas.config
import org.springframework.stereotype.Component
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
@Component
open class InterceptorConfig : HandlerInterceptorAdapter() {
override fun preHandle(request: HttpServletRequest, response: HttpServletResponse, handler: Any?): Boolean {
return true
}
}
package com.lynas.config
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.config.annotation.EnableWebMvc
import org.springframework.web.servlet.config.annotation.InterceptorRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@Configuration
@EnableWebMvc
@ComponentScan("com.lynas")
open class WebConfig() : WebMvcConfigurerAdapter() {
// this field show null
@Autowired
lateinit var interceptorConfig: InterceptorConfig
override fun addInterceptors(registry: InterceptorRegistry) {
registry.addInterceptor(interceptorConfig)
}
}
Run Code Online (Sandbox Code Playgroud)
lateinit var interceptorConfig: InterceptorConfig
是null
我运行应用程序时.如何解决这个问题?
完整代码 https://github.com/lynas/kotlinSpringBug
try@field:Autowired lateinit var interceptorConfig
或@set:Autowired
which 将告诉 kotlin 编译器在字段/setter 上显式添加注释。默认情况下,它将它们放在“property”上,这是 kotlin-only 构造,Java 可能在访问它时遇到问题。请参阅此处的 kotlin 文档
归档时间: |
|
查看次数: |
1001 次 |
最近记录: |