请问下@Bean和@Autowired 都是注入类的实例 有什么区别吗?
@Bean 注解没太详细研究过。 不过这两个注解还是有区别的。不建议替换使用。
首先@bean这个注解是为了标注当前的类型是一个可实例化的对象。也是Spring框架中,在启动过程中就会扫描的一个主要注解,而@autowired是一个注入注解,表示需要向这个类类型的变量注入一个实例化对象,而它时在扫描bean类的时候,通过查看有没有给属性标识autowired,来判断是否需要注入,而且默认是根据type进行注入,而一般用autowired时,我们的类型一般是接口,如果这个接口有多个实现,可以配和Qualifier注解找到唯一的实例化对象。
当然从最终现象来说都是拿到一个实例化对象,但是不同就在于返回的实例化对象的产生方式。
@Bean 注解没太详细研究过。 不过这两个注解还是有区别的。不建议替换使用。
首先@bean这个注解是为了标注当前的类型是一个可实例化的对象。也是Spring框架中,在启动过程中就会扫描的一个主要注解,而@autowired是一个注入注解,表示需要向这个类类型的变量注入一个实例化对象,而它时在扫描bean类的时候,通过查看有没有给属性标识autowired,来判断是否需要注入,而且默认是根据type进行注入,而一般用autowired时,我们的类型一般是接口,如果这个接口有多个实现,可以配和Qualifier注解找到唯一的实例化对象。
当然从最终现象来说都是拿到一个实例化对象,但是不同就在于返回的实例化对象的产生方式。