1 问题描述 用Kotlin编写Spring Boot,在业务层中使用@Transactional+@Autowired时出现如下错误: lateinit property dao has not been initialized 出错代码如下: 2 解决办法 因为Kotlin类默认是final的,加上@Transactional后编译器提示需要open: 但是加上open后没用,因此把@Transactional去掉后发现不会报错: