您的位置:首页 > 房产 > 家装 > Spring-一个接口拥有多实现类-企业应用场景

Spring-一个接口拥有多实现类-企业应用场景

2024/10/7 2:27:47 来源:https://blog.csdn.net/qq_19952029/article/details/140666747  浏览:    关键词:Spring-一个接口拥有多实现类-企业应用场景

前言:

        由于java的多态特性,往往一个接口有多种具体的实现,传统的做法是在一个实现类中新建不同方法。但这种做法既不符合OOP的思想,而且当每种实现逻辑都相对复杂的时候,会让我们的代码显得臃肿和凌乱,当我们只需要使用其中一种实现的时候,没有必要去关心其他实现,所以正确的做法应该是各自封装各自一体。

        当我们在spring中使用多个实现类实现同一个接口的时候,那么问题来了,我们怎么选择我们需要的实现。

一、通过依赖注入使用

1、@Autowired注解+@Qualifier注解

@Autowired按类型查找,找到多个会报错,如果没有指定required=false且找不到实现类的话也会报错。

用例:

public class UserController {@Autowired@Qualifier(value = "userServiceA")private UserService userService;public void execute() {userService.doSomething();}
}

@Autowired源码:

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RU

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com