繁体   English   中英

Spring 接口实现的依赖注入

[英]Spring dependency injection for an interface implementation

我想获得一个接口的所有实现。 这里给出的答案之一建议使用 Spring DI。 它很简单而且很有效。

  1. 我的问题是,如何根据某种顺序检索实现。
  2. 如果上述可以实现,它将如何在多模块应用程序中表现。

请在此处找到示例应用程序。 有一个库模块,它定义了一个接口并有 2 个实现。 在依赖于库的应用程序模块中,也有相同接口的附加实现。 在示例中,库 class 仅检查给定字符串的类型(空、回文或文本)。 显然,如果不维护订单,function 可能会返回无效结果。 以上问题的答案将帮助我解决这个问题。

第一:你不需要反思。 自动装配就足够了:

@Autowired
private List<MyInterface> interfaces;

第二:列表是有序的,但所有实现都具有相同的默认顺序。 为了解决这个问题,您可以将注释 @Order 放在您的类上或实现 Ordered 接口。

@Order(1)
@Service
public class MyImpl implements MyInterface {}

您可以找到本教程对其进行更多解释: https://www.baeldung.com/spring-order

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM