SpringBoot之Kotlin兼容性问题

295 阅读1分钟
//写法1
@Controller  
public class SpringBootControllerInJava {  
    @Autowired  
    private UserMapper userMapper;
//写法2
@Controller  
class SpringBootController{
    @Autowired  
    lateinit var userMapper: UserMapper
//写法3
@Validated  
@Controller  
class SpringBootController(val userMapper: UserMapper) {

三种方法在直接运行项目,外部调用接口都正常。 MockMvc测试时,写法2报错:userMapper未初始化,1、3正常,写法3的Java版本也正常。 IDE中写法1会报警告,提示换为写法3(构造函数参数形式)。