SpringBoot使用 SpringCloud Fegin 后无法自动扫描接口定义和接口实现

问题:SpringBoot 使用 SpringCloud  Fegin 后无法通过在主类添加  @ComponentScan(basePackages = {})  注解进行自动扫描与主类 所在包同级的包中JAVA 接口定义和接口实现。

@ComponentScan 注解使用如下:

@ComponentScan(basePackages = {"com.sande.service","com.sande.serviceImpl","com.controller",
        "com.example.server1"})

处理办法:把 JAVA 接口定义和接口实现放到主类所在包,或主类所在包的子包。就可以自动扫描到接口定义和接口实现了(而且是不需要在主类中加@ComponentScan(basePackages = {})注解 )。

在 controller 类中要加 @RestController 或 @Controller , service 接口中添加 @Component,service 实现类中添加 @Service 不然是不会把它们当 Bean 初始化的。

注意: Dao 接口加 @Component  或 @Repository 都不会把 dao 当 bean 初始化。只有在应用主类中添加  @MapperScan("com.winterchen.dao") 注解才会初始化dao 作为 bean 初始化,com.winterchen.dao 是 dao 接口所在的包。

你可能感兴趣的:(SpringBoot使用 SpringCloud Fegin 后无法自动扫描接口定义和接口实现)