基于注解配置bean-AutoWired
2025-4-20
| 2025-4-20
Words 561Read Time 2 min
type
status
date
slug
summary
tags
category
icon
password
基于注解配置bean,使用的注解是@AutoWired或者@Resource

@AutoWaired的配置规则说明

  1. 先在ioc中查找待装配的组件类型,如果ioc容器中此类型只有一个,那么就使用该bean装配。
  1. 如果查找到该类型有多个,那么以配置的属性名作为id进行查找,如果找到就装配,找不到就抛异常。

演示

使用autoWired装配的类型只有一个

那么就不会按照id去搜索,而是按照类型直接搜索

测试

结果

notion image
image-20230212153608013
当使用autoWaired装配的类型只有一个的时候,属性无论使用什么名称都可以装配成功,因为此时是按照类型装配的。

当待装配的类型有多个时

上面的代码依然可以执行成功,是因为有多个类型时,会按照id进行装配,扫描包装配类型时是按照类名的首字母小写进行装配,而代码中属性名也是首字母小写,所以可以执行成功。

证明

打印代码中装配的service和容器中获取类名小写的service是否一样。

结果

打印的hash值一样,说明属性中装配的对象是一样的。
notion image
image-20230212155046747
由此可以得到,如果更换装配的属性名时,而且这个属性名在容器中存在的话,那么装配的对象将不一样。
notion image
image-20230212155613026
基于注解配置bean-Resource基于排列构建数组
Loading...