为何@Autowired注解无法实现第三方类的注入?

为什么在Controller中对第三方DiscoverryClient类使用@Autowire注解无法自动注入?

为何@Autowired注解无法实现第三方类的注入?

这个问题来自于《master springMVC 4》这本书的源码,用SpirngBoot 2搭建的环境,根据我的理解,@Autowired注解一般无法对第三方包下面的类直接进行注入(我们无法保证第三方提供的类已经加上@Component,并且包路径可以被自动扫描),实例中对  org.springframework.cloud.client.discovery.DiscoveryClient;

接口加了@Autowired注解,其实现类为EurekaDiscoveryClient,构造方法的两个参数EurekaDiscoveryClient(EurekaInstanceConfig config, EurekaClient eurekaClient)

来自于

com.netflix.appinfo.EurekaInstanceConfig;

com.netflix.discovery.EurekaClient;

为何@Autowired注解无法实现第三方类的注入?

为何@Autowired注解无法实现第三方类的注入?

为何@Autowired注解无法实现第三方类的注入?

由源码知道第三方类没有加@Component注解,也不能保证第三方类的包路径可以被自动扫描

 

为何@Autowired注解无法实现第三方类的注入?