Spring 中的 @Primary 注解详解
在 Spring 框架中,依赖注入(Dependency Injection, DI)是一个核心概念,它允许我们将对象的依赖关系交由 Spring 容器管理,而不是在代码中硬编码。这使得我们的代码更加松耦合,易于测试和维护。
但是,当 Spring 容器中存在多个相同类型的 Bean 时,问题就来了:Spring 该如何决定将哪个 Bean 注入到依赖的地方呢?这时候,@Primary
注解就派上用场了。
什么是 @Primary 注解?
@Primary
是一个用于 Bean 定义的注解,它告诉 Spring 容器,在进行自动装配(Autowired)时,如果存在多个相同类型的 Bean,优先选择被 @Primary
注解的 Bean。
简单来说,@Primary
注解的作用是指定一个 Bean 作为默认 Bean,当 Spring 不知道该选择哪个 Bean 时,优先选择这个 Bean。