`
tom_seed
  • 浏览: 321610 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用Spring过程中的疑问

 
阅读更多

使用Autowired注解进行属性自动注入时,常常会有两个类同时继承一个接口的情况:

public interface InterfaceService {
	void doSomething();
}

@Service("interfaceServiceA")
public class InterfaceServiceA implements InterfaceService{
	public void doSomething(){
		System.out.println("xxx");
	}
}

@Service("interfaceServiceB")
public class InterfaceServiceB implements InterfaceService{
	public void doSomething(){
		System.out.println("xxx");
	}
}

@Controller
public class MvcController{
	@Autowired
	InterfaceService interfaceServiceB;
}

当存在上面的情况时,一直以为Autowired只通过byType进行Bean的自动装配。需要加@Qualifier("interfaceServiceB")才能注入具体的Bean。

 

其实Autowired自动装配类似于首先进行byType,当发现有多个时再进行byName。

所以,当接口与实现类一对一时,属性名称可以任意定义。一对多时,需要注意属性名必须与Bean在Spring 容器中的ID一致才能有效。

分享到:
评论

相关推荐

    SpringCloud中文文档

    Spring Cloud Context 提供了 ApplicationContext 的实用程序和特殊服务,而 Spring Cloud Commons 则是一组在不同的 Spring Cloud 实现中使用的抽象和常用类。 在使用 Spring Cloud 时,需要注意到由于“非法密钥...

    Spring Framework 6 中文文档

    Spring Framework 6.0.8-SNAPSHOT 的中文文档是针对这一最新版本的详尽指南,旨在解决中文互联网上关于Spring框架翻译不准确、更新滞后的问题。文档通过Deepl AI 翻译并进行了人工校验,确保了内容的准确性和专业性...

    Spring中文API帮助文档

    Spring中文API帮助文档是针对Spring框架的一份详尽指南,旨在帮助中文开发者更便捷地理解和使用Spring的各种功能。 该文档涵盖了Spring框架的多个核心模块,包括: 1. **Spring Core**:这是Spring框架的基础,...

    使用 Spring Boot 快速构建 Spring 框架应用

    Spring Boot 是一个基于 Spring Framework 的快速开发工具,旨在简化 Spring 应用程序的初始设置和配置过程,从而提高开发效率。Spring 框架以其模块化和灵活性著称,但这也可能导致在配置和集成各个子项目时遇到...

    Spring源码最难问题:当Spring AOP遇上循环依赖.docx

    Spring源码最难问题:当Spring AOP遇上循环依赖 Spring源码中最难的问题之一是循环依赖问题,当Spring AOP遇上...通过三级缓存,Spring可以确保bean的实例化过程中不存在循环依赖问题,从而实现了bean的正确实例化。

    详解Spring 中如何控制2个bean中的初始化顺序

    因此,在使用 DependsOn 注解时,需要了解 Spring 中 bean 的加载过程,以免出现错误。 其他实现方式 除了上述两种方式外,还有其他方式可以控制 2 个 bean 的初始化顺序。例如,可以使用 Spring 的 @Order 注解来...

    spring-boot中文API文档

    13. **常见问题**:解答在使用Spring Boot过程中可能遇到的问题,以及如何解决。 这份中文API文档不仅对初学者有指导意义,也为经验丰富的开发者提供了详细的参考信息,帮助他们深入理解Spring Boot的内部工作原理...

    spring3.2中文参考手册

    这些内容不仅帮助开发者更好地理解Spring框架,还指导开发者在实际开发过程中高效地使用Spring框架的各种功能。 通过阅读Spring框架参考手册,开发者可以掌握Spring框架的体系结构、各个模块的详细功能以及在不同...

    Spring中使用classpath加载配置文件浅析

    本文将详细分析Spring通过classpath加载配置文件的不同情形,并提供解决加载过程中可能遇到的问题的方法。 首先,我们来看一下Spring加载配置文件的基本方式。在Spring中,可以通过ApplicationContext接口的实现类...

    使用spring框架整合DBUtils技术,实现用户转账功能

    在本例中,我们可以创建一个`UserService`接口,用于处理转账操作,然后使用Spring来注入实现该接口的类。这样,我们可以在不修改代码的情况下更换或扩展服务的实现。 接下来,我们谈谈DBUtils。DBUtils是Apache的...

    在自定义spring aop中使用el获取拦截方法的变量值。

    标题中的“在自定义Spring AOP中使用EL获取拦截方法的变量值”指的是在Spring的面向切面编程(AOP)中,通过Expression Language(EL,表达式语言)来访问被拦截方法的局部变量值。这通常涉及到Spring的代理机制、...

    开发Spring的过程中出现Eclipse不能识别标签

    开发Spring的过程中出现Eclipse不能识别标签,需要引用 spring-tx标签,spring-tx-4.0.xsd 可以解决标签不识别的问题

    springcloud项目,解决unknown问题

    在解决“unknown”问题的过程中,使用`mvn clean install`命令进行完整构建,可以帮助定位和解决问题。同时,查阅官方文档和社区论坛,如Stack Overflow,通常能找到其他开发者遇到类似问题的解决方案。 在提供的...

    Spring框架开发参考中文手册

    Spring框架由多个模块组成,包括Core Container、Data Access/Integration、Web、AOP、Instruments和Test等,这些模块可以独立使用,也可以组合使用以满足不同项目需求。 二、Core Container Core Container是...

    spring mvc + mybatis 调用mysql 存储过程

    本文将详细讲解如何在Spring MVC和MyBatis集成的项目中调用MySQL存储过程。 首先,让我们理解存储过程的概念。存储过程是在数据库中预编译的一组SQL语句,可以包含输入、输出和内部参数,能够执行复杂的业务逻辑。...

    springcloud学习笔记.pdf

    本笔记主要介绍了从单体架构到微服务架构的演变过程,以及 Spring Cloud 中的微服务架构搭建。下面是本笔记的详细知识点总结: 一、单体架构 单体架构是指整个系统只有一个工程,打包往往是打成了 war 包,然后...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring MVC 4.2.4.RELEASE 中文文档

    HTTP 缓存支持是关于如何在 Spring MVC 中使用 HTTP 缓存控制头,如 Cache-Control、ETag 和 Last-Modified,以及如何对静态资源进行缓存处理。控制器类名-处理器映射 ControllerClassNameHandlerMapping 是一种基于...

Global site tag (gtag.js) - Google Analytics