①例如我要使用导入jar包中的RestTemplate这个类(需要用到@bean注解)
直接用@Autowired引入会报错,上面的报的错误是:无法注入,未找到“RestTemplate”类型的bean,意思就是再bean工厂里面没有,所以不能直接引入。
这个时候我们就要用@bean注解注入,如下图
@Configuration注解的作用:声明一个类为配置类,用于取代bean.xml配置文件注册bean对象。
@Bean:Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。
说白了上面两个注解的作用就是自动把你要用的类注入到bean工厂中
你通过@bean注入完之后,就可以使用@Autowired直接引入了,也不会报错。
②当然也有很多jar包里的类不需要@baen注解
我要使用DiscoveryClient类@Autowired直接引入就可以使用
③怎么判断使用前是否要用@bean注入呢,我们通过两张图来比较看一下,关门放图
先看没有使用@bean注入的样子
在看一下使用@bean注入的样子
Navigate to the Spring bean declaration(s) : 注入到Spring bean声明
这就证明已经让注入到bean工厂了
再看一下不需要@bean的类
进来我们就能看到,这个类已经被注入到bean工厂了,所以不需要我们再注入
综合上述你们就点进去看是否有注入的标志就行了,没有你们就注入一下,有就直接用就ok



