在Java 應用程式開發中,在不同位置對同一個bean 進行依賴注入是很常見的,並且通常在bean 之間的關係中進行依賴注入,如下例所顯示:
@Service @RequiredArgsConstructor public class PersonUpdater { private final PersonValidator validator; private final DocumentService documentService; //outras utilizações no fluxo de atualização public Person toUpdate(final Person person) { validator.validate(person); //...fluxo de atualização de pessoa return person; } }
@Component @RequiredArgsConstructor public class PersonValidator { private final DocumentService documentService; public void validate(final Person person) { if (person.isAdult() && person.isMale()) { final var documents = documentService.getMilitaryDocuments(person.getId()); //validações necessárias } } }
bean DocumentService 被注入到 PersonUpdater 且 Val🎜> 和 Validator
ON>用於搜尋軍事文件
@Service @RequiredArgsConstructor public class PersonUpdater { private final PersonValidator validator; private final DocumentService documentService; //outras utilizações no fluxo de atualização public Person toUpdate(final Person person) { validator.validate(person, () -> documentService.getMilitaryDocuments(person.getId())); //...fluxo de atualização de pessoa return person; } }它是法定年齡男性的更新。以下範例是獲得相同結果的一種可能性:
@Component @RequiredArgsConstructor public class PersonValidator { public void validate(final Person person, final Supplier<List<Document>> documentsSupplier) { if (person.isAdult() && person.isMale()) { final var documents = documentsSupplier.get(); //validações necessárias } } }
透過
函數介面
,一系列使用Java應用程式行為的選項出現了!它們透過方法參數(如範例中)和某些類別的屬性使使用更加靈活。以上是Dica Java:函數式介面 #的詳細內容。更多資訊請關注PHP中文網其他相關文章!