2011-03-05 71 views
5

我對Struts2和Spring有一定的瞭解。我想開發一個管理多家公司信息的應用程序。我完全不知道哪些技術最適合我的應用。例如:Struts2和Spring的Hibernate MVC。 有人可以幫我選擇合適的技術嗎?什麼技術最適合我的應用:Struts with Hibernate或Spring with Hibernate

+0

什麼是你的應用程序的大小和它的scope.this將有助於建議什麼最適合你的需求 – 2011-03-07 17:11:11

回答

12

這裏是一個J2EE堆棧的快速故障,您可以使用:

  1. Struts2的使用爲您控制器層

  2. 使用Hibernate進行數據抽象層。爲您的DAO創建服務接口。如果需要,這些接口將允許您稍後使用某種類型的RMI服務,這意味着這些服務可以在不同於您的Web應用程序的計算機上運行。具體的類實現這些接口。這些類將包含業務邏輯和數據驗證,並將包裝Hibernate會話。 Hibernate會話用於讀/寫數據庫。使用Hibernate annotations加快Hibernate bean的實現。

  3. 使用Spring來實例化您的服務類和Struts2操作。配置Spring以將服務實例注入到Struts2操作中。這被稱爲dependency injection。參考接口,而不是您的Struts2動作的DI設置方法中的類。

  4. 在JSP中使用Struts2標記庫或JSTL,它將成爲您的視圖圖層。

  5. 使用Maven爲您的構建和部署。

  6. 使用mod_jk運行Apache,並使用Tomcat作爲您的servlet容器。 mod_jk運行w/Apache進程,並將請求傳遞給駐留在JVM中的Tomcat servlet容器。

  7. 如果您的應用程序需要搜索功能,請使用SOLR,這是一個構建於Lucene之上的REST服務。

  8. 除了使用Struts2之外,您還可以看看Apache Wicket

+1

這就是說,以前與J2EE合作過,我強烈建議你避免它爲較小的項目,因爲它是過度殺傷。例如Yii/PHP,Ruby on Rails或Python/Django等,你會更加高效。 – Simian 2011-03-05 06:35:16

0

同意@Simian,並添加一些意見和理由。

從技術角度來看,你應該使用現代的使用和成熟的技術,如Struts 2,Spring MVC的,休眠,JSF等任何框架

但是,從商業的角度來看,你應該採取更強調您的項目所包含的業務模式,並且對框架的​​需求實施起來既簡單又快速,而且強大且易於維護。

因此,你熟悉的Struts 2和Spring,我建議:

1,使用Struts 2作爲項目的MVC框架,但如果需要使用AJAX。您還可以開發攔截器來滿足項目的一些常見要求。 (或者,如果你有時間的話,可以學習Spring MVC,因爲它與Spring框架一起工作良好,並且對AJAX和RESTful有更好的支持。不推薦使用JSF,不是因爲它不是一個超級框架,而是使用2,使用Spring jdbcTemplate作爲你的數據層,使用DAO模式去耦合。2,使用Spring jdbcTemplate作爲你的數據層,使用DAO模式解耦。 (或者,如果你有時間的話,你可以學習Hibernate或者JPA作爲你的ORM框架)。

3,使用Spring IoC來管理你的對象並與Struts 2和Hibernate集成,並用Spring的註釋管理事務。

相關問題