簡體   English   中英

從不同的模塊自動裝配bean

[英]Autowiring beans from a different module

我有一個很大的應用程序,我想分解成可管理的模塊。 我使用spring和Jpa(Hibernate作為提供者)。 我想出了一個結構,其中我有一個包含所有實體和dao類的核心模塊,其他模塊使用核心模塊來實現持久性,並且每個模塊都有自己的一組服務類和控制器。

在此輸入圖像描述

所有Jpa和spring配置文件都在核心模塊中。 通過這種設置,我面臨着在使用核心模塊的模塊中自動裝配dao bean的問題。 所以我的問題是,是否可以從其他模塊中的核心模塊自動裝配bean(或者可能使用跨模塊的上下文)? 如果有更好的方法,我也願意接受有關結構的建議。

謝謝

核心模塊必須是必須在每個子上下文模塊中設置的父Spring上下文。 通過這種方式,沒有自動裝配的問題

每個子上下文都可以從父級到達所有bean,但要注意父級無法看到子級

根據您配置應用程序的方式,您可以通過多種方式執行此操作,即

  1. 將核心模塊分配到單獨的jar中,分配給每個模塊,如本文所述, 跨多個Web應用程序共享彈出上下文
  2. 以編程方式,在每個子模塊中擁有核心spring xml,您可以這樣做:

     ClassPathXmlApplicationContext parentAppContext = new ClassPathXmlApplicationContext(); parentAppContext.setConfigLocation("spring-core.xml"); // this is your core spring xml parentAppContext.refresh(); ClassPathXmlApplicationContext moduleAppContext = new ClassPathXmlApplicationContext(); moduleAppContext.setConfigLocation("others.xml"); moduleAppContext.setParent(parentAppContext); moduleAppContext.refresh(); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM