在xml配置文件中,autowire有5种类型,可以在<bean/>元素中使用autowire属性指定:
AutoWire Modes
模式
| 说 明 |
no | 不使用自动装配,必须通过ref元素指定依赖,默认设置。 |
byName | 根据属性名自动装配。此选项将检查容器并根据名字查找 与属性完全一致的bean,并将其与属性自动装配。 |
byType | 如果容器中存在一个与指定属性类型相同的bean,那么将与 该属性自动装配;如果存在多个该类型bean,那么抛出异常, 并指出不能使用byType方式进行自动装配;如果没有找 到相匹配的bean,则什么事都不发生,也可以通过设置 dependency-check="objects"让Spring抛出异常。 |
constructor | 与byType方式类似,不同之处在于它应用于构造器参数。 如果容器中没有找到与构造器参数类型一致的bean, 那么抛出异常。 |
autodetect | 通过bean类的自省机制(introspection)来决定是 使用constructor还是byType方式进行自动装配。 如果发现默认的构造器,那么将使用byType方式。 |
可以设置bean使自动装配失效:
采用xml格式配置bean时,将<bean/>元素的autowire-candidate属性设置为false,这样容器在查找自动装配对象时,将不考虑该bean,即它不会被考虑作为其它bean自动装配的候选者,但是该bean本身还是可以使用自动装配来注入其它bean的。
分享到:
相关推荐
3.3.6. 自动装配(autowire)协作者 3.3.6.1. 设置Bean使自动装配失效 3.3.7. 依赖检查 3.3.8. 方法注入 3.3.8.1. Lookup方法注入 3.3.8.2. 自定义方法的替代方案 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...
**2.3 智能注入协作者** - **Autowiring策略**:通过`<bean/>`元素的`autowire`属性自动匹配和注入依赖。 - **@Required注解加强管理**:使用`@Required`注解确保必需的依赖被正确注入。 - **基于@Autowired或@...
3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. Singleton beans和prototype-bean的依赖 3.4.4. 其他作用域 ...
3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. Singleton beans和prototype-bean的依赖 3.4.4. 其他作用域 ...
3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1...
3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1...
- **元素的autowire属性**:定义了不同的自动装配策略。 - **基于@Required注解加强协作者管理**:使用`@Required`注解确保所有必须的依赖都被正确注入。 - **基于@Autowired或@Inject注解的另一Autowiring策略**...
`@Autowired`和`@Inject`注解都是用于自动装配依赖项的,其中`@Autowired`为Spring特有的注解,而`@Inject`则来源于JSR 330规范。它们提供了更灵活的依赖注入方式。 **2.3.4 借助primary属性或@Qualifier注解细粒度...