//写法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(构造函数参数形式)。