美文网首页
@Autowired 注入dao 为 null

@Autowired 注入dao 为 null

作者: hare426 | 来源:发表于2018-06-19 12:32 被阅读0次

    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路径,解决;

    相关文章

      网友评论

          本文标题:@Autowired 注入dao 为 null

          本文链接:https://www.haomeiwen.com/subject/crdaeftx.html