Spring Bean的自动装配(Autowiring)

Bean的自动装配(Autowiring)

default-autowire="default/no/byName/byType/constructor"

no:不做任何操作

byName:根据属性名自动装配,设值注入。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配

<bean id="yyy" class="xxx.Yyy" ></bean>

byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配,设值注入;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生

<bean  class="xxx.Yyy" ></bean>

constructor:与byType方式类似,不同之处在于它应用于构造器参数,构造注入。如果容器中没有找到与构造器一致的bean,那么抛出异常

<bean  class="xxx.Yyy" ></bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring自动装配Autowiring)是一种方便的依赖注入机制,它可以自动bean之间的依赖关系进行解析和注入,而不需要显式地配置bean之间的关联。 在Spring中,有以下几种方式可以实现自动装配: 1. 根据类型自动装配Spring会根据bean的类型来自动匹配并注入依赖。使用`@Autowired`注解或者`<autowired>`标签进行标记。 ```java @Autowired private SomeDependency someDependency; ``` 2. 根据名称自动装配Spring会根据bean的名称来自动匹配并注入依赖。使用`@Autowired`注解结合`@Qualifier`注解或者`<qualifier>`标签进行标记。 ```java @Autowired @Qualifier("myDependency") private SomeDependency someDependency; ``` 3. 构造器自动装配Spring会根据构造器的参数类型和参数名称来自动匹配并注入依赖。使用`@Autowired`注解在构造器上标记。 ```java @Autowired public MyService(SomeDependency someDependency) { this.someDependency = someDependency; } ``` 4. 使用`@Resource`注解:`@Resource`注解是Java原生的注解,Spring也支持它进行自动装配。它可以根据bean的名称或者类型进行自动匹配。 ```java @Resource private SomeDependency someDependency; ``` 自动装配需要在Spring配置文件中启用。可以使用`<context:annotation-config>`标签或`@ComponentScan`注解来开启自动装配功能。 需要注意的是,自动装配是一个便利的功能,但在某些情况下可能会导致不可预料的问题,例如多个候选bean或循环依赖。因此,在使用自动装配时,建议仔细设计和管理bean之间的依赖关系,并在必要的时候明确指定装配方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值