[英]Is a parallel Spring-MVC application possible with a non-spring web app?
我有一個非常龐大的Tomcat應用程序。 非常適合商業(真錢賺錢)。 但它是遺留的Java代碼。 意思是,JSP(有很多Javascript,Java代碼),Servlets(有幾千行代碼)等等。 我們希望擺脫這個糟糕的代碼。 現在已經有另一個應用程序(不同的目的,不同的功能)的請求。 我們需要在另一個上下文root / NewApp讓我們說在遺留應用程序目錄結構下。 像一個迷你網站。 它將具有不同的URL,甚至可以為幾個虛擬主機提供服務。
我們不想擴展Legacy代碼。 我們希望轉向更好的技術和更好的做事方式。 我們強烈要求Spring(tile,jackson等等)以及它提供的所有東西,包括portlet。 因此,我們正在考慮將DispatcherServlet / ContextLoaderListener / configLocation等引入遺留應用程序web.xml並將彈簧應用程序並排放置的可能性。
主要原因是新應用程序嚴重依賴於遺留服務和庫。
不幸的是,我們無法將它們分開。 感謝您對此的見解。
謝謝!!
我們在不久前經歷了一個類似的用例,同時將適度大的應用程序從EJB 2.1遷移到Spring。 在很長一段時間內,Spring bean與EJB共存。 我們首先在依賴關系層次結構中選擇了葉子,因此Spring bean依賴於EJB而不是相反的方式。 這很漂亮,由於Spring代理和依賴注入,bean像任何其他bean一樣調用EJB。
在同一個應用程序中,我們同時擁有Struts 1和Wicket用於新頁面(該死的,Struts頁面中甚至還有Wicket iframe!),我們甚至將原有的基於JDBC的持久性解決方案與JPA並排。 一切都運作良好。
要記住的事情:
它仍然是一個應用程序,注意后端緩存
處理像Spring bean這樣的遺留服務。 構建一些橋/代理/適配器,注入遺留服務,就像注入其他bean一樣。 不依賴於遺留API(我想象一些單身人士,工廠,JNDI查找)
測試新舊之間的邊界將很難,為很多嘲弄做准備。
考慮一下Web安全性,您可以輕松地集成兩個“應用程序”嗎?
讓我們面對現實,你永遠不會完全將舊代碼重寫為新技術。 到那時,新技術也將變得陳舊,新的開發人員將會加入。但是每次都要逐步提高舊代碼的質量。 重構可以創造奇跡!
配置沒什么特別之處。 這是一個誤解,Spring必須統治整個應用程序。 它可以用作輕量級,輕薄的附加組件,與您的應用程序的其余部分相鄰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.