Spring 注入 Bean

Spring 注入 Bean

简介

我们谈到 Spring 的时候一定会提到 IOC 容器、DI 依赖注入,Spring通过将一个个类标注为 Bean 的方法注入到 IOC 容器中,达到了控制反转的效果。

注入方式

Spring 有如下种注入方式

  • 属性注入
  • 构造函数注入
  • 工厂方法注入

而在一般的使用过程中可以选择使用

@Autowired 注解或者 @Resource 注解进行注入。

Autowired 与 Resource 的区别

Spring 不但支持自己定义的 @Autowired 注解,还支持几个由 JSR-250 规范定义的注解,它们分别是 @Resource、@PostConstruct 以及 @PreDestroy。

@Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,而 @Resource 默认按 byName 自动注入罢了。 @Resource 有两个属性是比较重要的,分是 name 和 type,Spring 将 @Resource 注解的 name 属性解析为 bean 的名字,而 type 属性则解析为 bean 的类型。 所以如果使用 name 属性,则使用 byName 的自动注入策略,而使用 type 属性时则使用 byType 自动注入策略。 如果既不指定 name 也不指定 type 属性,这时将通过反射机制使用 byName 自动注入策略。

参考资料

Spring @Autowired

@autowired和@resource注解的区别是什么?


Spring 注入 Bean
https://wangqian0306.github.io/2021/import/
作者
WangQian
发布于
2021年10月28日
许可协议