我的想法是創建一個.jar文件,其中包含服務非管理由Spring Web的應用程序和jar文件與Spring提供
由Spring管理,應該由getBean()方法
我來了想把它放到WEB-INF的WEB-INF/lib中
然後在web-app Servlets中,我想使用Jar文件的功能。
1想法。創建封裝invokeation到Spring Context(getBean()等)的類 例如,我將使用的類將只獲取一個參數並返回一個參數 ,但在該類中將會調用Spring的getBean等
在這種情況下,我想通過jar導入來使用Servlet是沒有問題的。 只有東西,我應該在.jar裏面使用什麼樣的上下文來獲取bean,以便它在打包成jar之後起作用? ApplicationContext還是什麼?
2想法。有沒有另一種簡單的解決方案,如何打包成jar,然後在Spring環境中使用Services進行非託管?
@lexicore你的配置片段看起來很棒(如果有效的話)。我可以問你一些細節嗎?你看,在我看來,在這種情況下,我們應該把Spring管理的類放在WEB-INF/classes的某處。怎麼樣一個單獨的.jar文件。如果所有東西都打包成jar並放入WEB-INF/lib中,這個配置是否可以工作? – EugeneP 2010-04-14 10:41:09
@EugeneP當然,它的工作原理,檢查我發佈鏈接的示例項目。如果classes和applicationContext.xml位於WEB-INF/classes中,或者位於WEB-INF/lib中,則無關緊要。它們將從類路徑中加載。我對此100%確信,這正是我們在許多項目中所做的。 – lexicore 2010-04-14 10:45:24
我在beans.xml中使用「context:component-scan」,這可能是個問題。我編譯了一個jar文件,並將其放入WEB-INF/lib中,並按照您的建議編輯了web.xml。我不明白一件事:在哪裏放beans.xml?我應該將它保存在jar文件中還是放在WEB-INF目錄中?我嘗試了兩種方法,結果是一樣的:我可以獲取顯式存在於beans.xml中的bean,但無法獲取組件掃描工作(@Autowired)。錯誤是:「沒有名爲...的bean被定義」。有任何想法嗎? – EugeneP 2010-04-14 14:28:46