容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check="objects"让Spring抛出异常。
xml中文件的配置如下:
Xml文件中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="student" class="com.csdn.bean.Student">
<property name="name"><value>朱磊</value></property>
</bean>
<bean id="GreetingServliceImpl" class="com.csdn.service.GrtieengServliceImpl"
autowire="byType">
<property name="say" value="hello"></property>
</bean>
</beans>
Student中为:
package com.csdn.bean;
public class Student {
private String name;
public void setName(String name) {
this.name = name;
}
}
GrtieengServliceImpl中为:
package com.csdn.service;
import com.csdn.bean.Student;
public class GreetingServliceImpl implements GreetingServlice {
private String say;
@Override
public void say() {
System.out.println("这是我说的话" + say);
}
public void setSay(String say) {
this.say = say;
}
private Student student;
public void setStudent(Student student) {
this.student = student;
}
}
值得注意的是:自动装配指的是装配bean的值而不是属性值,网上很多文章都有错误我特意的查了查资料。还有就是而该bean包含student属性(同时必须提供setStudent(..)方法),byType根据set依赖注入的。
如果xml文件中包括多个相容类型的bean利用byType会出错。(这里说的相同类型包括,如类B继承类A,如果bean中定义了类A和类B 都会出错)错误如下。
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name '类名' defined in file
分享到:
相关推荐
以下是对Spring IOC容器的详细讲解: 1. **Bean的定义**:在Spring中,我们通过XML、Java配置或者基于注解的方式定义Bean。Bean定义包含了Bean的类、属性、依赖关系等信息。例如,在XML配置文件中,我们可以使用`...
Spring面试题详细讲解 Spring 是什么? Spring 是一个轻量级的 IoC 和 AOP 容器框架。是为 Java 应用程序提供基础性服务的框架,目的是简化应用程序的开发主要由以下几个模块组成:Spring Core:核心类库,提供 ...
在这个“配置后的Spring讲解”中,我们将深入探讨Spring的核心概念,特别是XML配置的相关知识。 在Spring中,XML配置文件是初始化和管理Bean的主要方式。Bean是Spring框架中的核心概念,代表了应用程序中的对象。...
当使用 @Autowired 和 @Qualifier 结合使用时,自动注入的策略就会从 byType 转变成 byName。例如: ```java @RestController public class EmployeeInfoControl { @Autowired @Qualifier("service") private ...
这个文件可能包含了关于Spring自动装配的教程材料,例如代码示例、配置文件或者相关的讲解文档。 综上所述,Spring自动装配是Spring框架的重要特性,它通过控制反转原则实现了对Bean依赖的自动化管理。开发者可以...
接着,文档详细讲解了搭建Spring运行环境的步骤,包括创建新项目、配置文件的建立、导入Spring库的jar包,以及编写测试代码。特别强调了接口的使用,因为Spring依赖于接口来实现依赖注入。 第五课是文档的重点,...
在文件"1606SpringDay02-3"中,可能包含了对这些概念的详细讲解和示例代码,通过学习这部分内容,我们可以更深入地理解Spring如何管理和装配bean,从而更好地设计和构建Spring应用。同时,合理使用`parent`、`...
- `spring_scope`可能讲解了Spring中Bean的作用域,包括单例(singleton)、原型(prototype)、请求(request)、会话(session)和全局会话(global session)等,理解这些作用域对于优化对象生命周期和性能至关...
本文将详细讲解Spring中自动装配Bean的三种主要方式:byName、byType以及constructor。这些方法帮助Spring的IoC容器自动识别并连接Bean的依赖,从而减少手动配置的工作量。 首先,我们来看第一种自动装配方式——`...
本篇文章将详细介绍如何实现Spring Bean的自动配置,并通过代码实例进行讲解。 自动装配的核心在于减少手动配置的工作量,提高开发效率。在Spring中,自动装配主要有两种方式:基于名称(byName)和基于类型(byType)...
"spring_hibernate_1"将讲解如何将Spring与Hibernate集成,利用Spring的Hibernate支持进行数据访问。Spring可以管理Hibernate的SessionFactory和Session,通过事务管理来确保数据的一致性。 AOP(面向切面编程)是...
下面,我们将详细讲解以下几个关键知识点: 1. **Setter注入**:这是最常见的一种注入方式,通过XML配置文件中的`<property>`标签来设置对象的属性值。例如: ```xml ``` 这里的`property1`和`property2`是...
这部分主要讲解了Spring中的bean生命周期管理。Spring允许开发者定义bean的初始化方法和销毁方法,以实现自定义的生命周期行为。此外,还涉及了bean的生命周期状态,如单例bean的实例化时机以及原型bean的每次请求...
本文档主要讲解了 ASP.NET 连接 SQL2008 数据库的实现代码,包括使用 SqlConnection 对象连接数据库,SqlCommand 对象对数据库进行读取,SqlCommand 类的属性和方法等。 连接 SQL2008 数据库 ASP.NET 连接 SQL2008...
本学习笔记结合了“狂神说”的讲解和作者的个人理解,旨在提供一个系统、全面的Mybatis学习资源。 1. **Mybatis概述**: Mybatis 是一个轻量级的ORM(对象关系映射)框架,它解决了在Java应用中操作关系数据库的...
本教程将详细讲解如何在Maya中建立基础模型,然后在Zbrush中进行精细化雕刻。 在Maya中创建基础模型: 1. 首先,通过创建一条直线和一个圆环,使用Surface > Extrude命令将两者结合成一个圆柱体。这样做的好处是...
本文将详细讲解Spring中的几个关键注解:`@Autowired`、`@Qualifier`、`@Resource`以及`@PostConstruct`和`@PreDestroy`。 1. `@Autowired` `@Autowired`注解用于自动装配bean,它可以应用在字段、方法或构造器上,...
以下将详细讲解这些知识点。 首先,我们来看如何拓展Spring的配置。在Spring中,我们通常会在XML配置文件中定义Bean及其属性。然而,为了更好地管理和组织配置,我们可以采用多种方法来扩展配置。例如,可以将...
本篇将重点讲解Spring的@Autowired自动装配机制,包括XML配置版和注解版,并深入到源码层面进行解析。 @Autowired是Spring框架中的一个核心注解,用于实现自动装配bean的需求。当我们想要在类中注入某个依赖时,...
本篇将深入解析Spring框架的配置机制,主要围绕默认配置文件`applicationContext.xml`进行详细讲解。 一、Spring配置文件基础 `applicationContext.xml`是Spring应用上下文的主要配置文件,用于定义bean的实例化、...