1. Service无法注入
步骤1. 检查对应的service是否添加了@Service注解
步骤2. 检查service所在的包是否为Application.java的子包,如Application.java的包为com.xxx,service的包为com.xxx.service说明service为Application.java的子包
2. Mybatis的Mapper注入在Intellij idea中报红线,但运行正常
正常情况下,如果我们使用了@MapperScan注解且mapper包配置正确的话,是可以正常运行的,此时mapper接口上不需要设置任何注解,但因为Intellij idea无法识别@MapperScan所扫描的包内容,因此idea会认为无法自动装配对象,所以报红。解决如下:
a. 在idea中关闭@Autowired的警告机制,不推荐,这样所有的自动装配无论是否错误都不报错误,且多人协作每个人都需要设置
b. 设置@Autowired(required = false),不推荐,自动装配无论是否错误都不报错误
c. 在每个mapper接口上添加@Repository,让idea识别,推荐
3. Maven打包应用报“Unable to find main class”
原因是没有在spring-boot-maven-plugin打包插件指定入口类,这样打包时就会在每个子包都寻找入口类,子包中没有的话则报此错误,解决方案就是为这个打包插件指定入口类