亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶彈簧注釋的復合設計模式

帶彈簧注釋的復合設計模式

米脂 2022-08-17 21:27:38
各位開發人員,我想知道在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;


查看完整回答
反對 回復 2022-08-17
  • 1 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號