各位開發人員,我想知道在Spring中實現帶有注釋的復合模式的最佳方法是什么。我正在嘗試創建一個包裝其他組件集合的組件,并在每個組件上調用相應的方法:@Slf4j@Repository("courseRepository")public class CompositeRepository implements CourseRepository { private List<CourseRepository> repos = new ArrayList<CourseRepository>(); @Override public Page<Subject> findSubjects(AcademicCareer career, Pageable pageable) { for (CourseRepository r : repos) { try { return r.findSubjects(career, pageable); } catch (Exception e) { log.info("Unable to invoke findSubjects on " + r, e); } } throw new IllegalStateException("Unable to complete findSubjects"); }}這樣,如果一個存儲庫失敗,則始終存在回退。使用 XML 配置實現此目的很容易,只需向復合存儲庫提供一個列表即可。對于注釋,我能想到的一種方法是提供一個自定義配置類。這是要走的路嗎?
1 回答

白衣染霜花
TA貢獻1796條經驗 獲得超10個贊
您只需注入一個CourseRepository對象列表,Spring將為您提供一個列表,其中包含它所知道的CourseRepository類型的所有Bean。所以很簡單:
@Autowired private List<CourseRepository> repos;
添加回答
舉報
0/150
提交
取消