@Autowired 注入dao 为 null

2018-06-19  本文已影响0人  hare426

Springboot + myBatis

ServiceImp 内 @Autowired dao 程序启动时异常:

***************************

APPLICATION FAILED TO START

***************************

Description:

Field ***Dao in ***ServiceImpl required a bean of type '***Dao' that could not be found.

Action:

Consider defining a bean of type '***Dao' in your configuration.

出现问题之后,网上翻阅很多资料,最后被自己蠢哭:

1.启动类位置问题:

    启动类位置与dao所在层级关系错误,应高于dao所在层级;

2.@Service标签:

    并不是所有用到dao的ServiceImp都标注了@Service标签;

介于以上两种问题都不是引起我异常的原因,后来发现是

启动类SpringBootApplication没有添加@MapperScan标签:

******************************************************************************************

@SpringBootApplication

//@EnableScheduling //开启定时器

@MapperScan(value = "com.test.dao")

public class SpringBootApplication {

public static void main(String[] args) {

SpringApplication.run(SpringBootApplication.class, args);

}

}

**************************************************************************************************

通过使用@MapperScan可以指定要扫描路径,在启动类上添加@MapperScan注解,value为dao路径,解决;

上一篇下一篇

猜你喜欢

热点阅读