@Autowired用来注解需要注入的类型,这里有一点值得提一下,Spring2.5的注解不支持基本类型的注入,如果涉及到基本类型的注入仍然要采用XML配置,个人认为这样做是很正确的,基本类型都是的注入是一些固定的值,如果使用注解来完成注入,那么使得代码和相应的值黏合在一起,不便于修改。@Autowired来注解DI时,如果有多个同类型的class,则可以结合@Qualifier注解来指定注入Bean的名称,如:
IUser接口:
public interface IUser {
public String describe();
}
2个实现类:
Father:
@Service
public class Father implements IUser {
private String name = "dabing";
public String describe() {
// TODO Auto-generated method stub
return "父亲是:" + this.name;
}
}
Son:
@Service
public class Son implements IUser {
private String name = "xiaobing";
public String describe() {
// TODO Auto-generated method stub
return "儿子是:" + this.name;
}
}
现在写一个类来测试一下注入情况:
Family:
@Service
public class Family {
@Autowired
private IUser user;
public String toString() {
return "家庭成员:" + user.describe();
}
}
在Family中需要注入一个IUser类型,这个时候如果测试Family类是否注入,肯定会报错如下:
expected single matching bean but found 2: [father, son]
表示有多个同样的类型,这个时候@Qualifier就显的十分重要了,增加注解最终如下:
@Service
public class Family {
@Autowired
@Qualifier("father")
private IUser user;
public String toString() {
return "家庭成员:" + user.describe();
}
}
这个时候使用@Qualifier注解显示地告诉Spring,我现在需要的是名称为father且类型为IUser的Bean,运行起来当然就一切正常了。
分享到:
相关推荐
而自动扫描和自动注入是Spring 2.5中实现IOC的两个核心特性,极大地简化了配置工作,提高了开发效率。以下是对这两个特性的详细解释: **自动扫描**: 自动扫描是Spring框架的一个强大功能,它允许开发者指定一个或...
**Spring 2.5 IOC(控制反转)的简单实现** Spring 框架是 Java 开发中的一个核心组件,尤其在企业级应用中广泛应用。它提供了依赖注入(Dependency Injection,DI),也就是通常所说的控制反转(Inversion of ...
《精通Spring2.5》是一本深度探讨Spring框架的权威指南,主要针对Spring 2.5版本进行深入解析。Spring是Java企业级应用开发中最受欢迎的框架之一,它以其轻量级、模块化的设计,以及对IoC(Inversion of Control,...
Spring2.5版本是该框架的一个重要里程碑,它在2008年发布,带来了许多新特性和改进,提升了开发者在构建应用程序时的灵活性和效率。 **依赖注入(DI)和控制反转(IoC)** Spring的核心特性之一是依赖注入(Dependency...
这个"Spring2.5-中文参考手册chm.zip"文件包含了关于Spring 2.5版本的详细中文指南,对于学习和理解Spring框架具有很高的价值。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程...
1. **IoC容器**:在Spring 2.5中,Bean工厂是IoC容器的核心,它负责管理对象的生命周期和依赖关系。开发者可以通过XML配置文件或注解来定义Bean及其依赖,实现组件的解耦。Spring 2.5增强了对注解的支持,使得无需...
Spring2.5是全面的企业级应用框架,它不仅包含IoC(Inversion of Control,控制反转)容器,用于管理对象的生命周期和依赖关系,还提供了AOP(Aspect-Oriented Programming,面向切面编程)功能,实现了对横切关注点...
Spring 2.5 是 Spring 框架的一个重要版本,它在之前的版本基础上引入了许多增强功能和改进,为开发者提供了更强大的工具集。这个压缩包包含的“spring常用包”很可能是为了帮助开发者理解并使用 Spring 2.5 的核心...
Spring2.5和Hibernate3集成 采用声明式事务 1.声明式事务的配置 * 配置sessionFactory * 配置事务管理器 * 配置事务的传播特性 * 配置哪些类哪些方法使用事务 2.编写业务逻辑方法 * 继承...
标题中的"spring2.5相关的jar包"指的是Spring框架2.5版本的相关依赖库。在Spring 2.5版本中,引入了一些重要的改进和新特性,对于理解这个版本的jar包内容至关重要。 首先,Spring 2.5引入了对JSR-303(JavaBeans ...
Spring2.5-Reference_zh_CN.chm Spring2.5-中文参考手册.chm spring——AOP,IOC.doc Spring框架快速入门之简介.doc spring配置全书.doc Spring中的IOC与AOP详解.ppt
《Spring 2.5源码编译全解析》 在软件开发领域,深入理解框架的源码对于提升技术水平和优化应用至关重要。Spring作为Java领域的主流框架之一,其2.5版本是许多开发者学习和研究的基础。本文将详细介绍如何编译...
在Spring2.5中,IoC容器支持通过XML配置文件或注解的方式定义和管理Bean之间的依赖关系。 #### 三、Bean定义与管理 - **Bean定义**:Spring框架中的Bean是应用程序的基本组成部分,它们通常代表业务实体或服务组件...
这份手册能够帮助开发者理解并掌握Spring的众多功能,包括配置和使用Spring IoC容器,如何在项目中集成Spring MVC和Spring的事务管理功能,以及如何使用Spring AOP进行面向切面的编程等。通过这份手册,开发者可以...
【标题】"cxf+Spring2.5" 指的是使用Apache CXF框架与Spring 2.5版本进行集成的示例项目。Apache CXF是一个开源服务框架,它允许开发人员创建和消费Web服务,而Spring框架则是一个广泛使用的Java企业级应用的IOC...
本实例是针对Spring 2.5与Hibernate集成的实战演示,旨在展示如何利用Spring的依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IoC)容器来管理Bean,并通过Spring的面向切面编程...
Spring 2.5版本是一个重要的里程碑,引入了许多新特性和改进,为开发者提供了更强大的功能和更灵活的配置。以下是对这三个文档内容的概览: 1. **Spring 2.5.2 开发参考手册PDF**: 这份手册详细介绍了Spring ...
在这个版本中,Spring 对 IoC(控制反转)和 AOP(面向切面编程)的支持更加完善,同时也引入了对 Java 5 和 JSR-250 的支持,以及对 MVC(模型-视图-控制器)框架的重大改进。下面我们将详细探讨 Spring 2.5 中的...
1. **IoC(Inversion of Control,控制反转)与DI(Dependency Injection,依赖注入)**:Spring的核心理念是通过容器管理对象及其依赖关系,而非让对象自行创建或查找依赖。DI允许开发者声明对象的依赖,由Spring...
【Spring 2.5 教程(传智)】是一个针对初学者的全面Spring框架教程,旨在帮助开发者理解和掌握Spring的核心特性和使用方法。以下是该教程涵盖的主要知识点: 1. **Spring 概述**:Spring是一个开源的Java平台,它...