繁体   English   中英

组织Spring 3 Web应用程序及其组件的理想方法是什么?

[英]What is an ideal way to organize a Spring 3 web application and its components?

我正在开发一个包含两个主要“部分”的应用程序...

  1. 面向公众的网站
  2. 用于移动应用程序的RESTful API。

我正在使用Spring Tool Suite作为我的Spring 3开发应用程序。 最初,我认为API将与公共网站属于同一项目。 但是后来我尝试将基本身份验证与基于表单的身份验证混合使用,以进行公共网站的事情开始使Spring Security变得有些混乱。

因此,我认为最好将API开发为一个单独的项目,并在API和网站项目之间共享我的域对象,服务和DAO。 我的问题是:

  1. 这是一个愚蠢的主意吗?
  2. 是否应该使用共享的域对象,服务等创建一个“核心”项目?
  3. 我应该使用Maven并将“核心”项目添加为API和网站项目的依赖项吗?
  4. 有没有更好的方法来完成所有这些工作?

这在很大程度上取决于您的需求。 我目前正在开发一个相当大的GWT应用程序(使用SpringSource Toolsuite和Maven)。

我们广泛使用Maven模块和配置文件。 有时可能会有点混乱,但确实会造成分离,我认为这通常是一件好事。

我想说,如果您的前端代码和后端代码将完全分开,那么将它们创建为单独的模块可能不是一个坏主意。 然后,您可以根据需要为每个项目设置Spring Security等。

因此,总而言之,我想说模块化是一种不错的方法,但是请研究Maven模块,因为这可能会帮助您解决依赖问题。

我和你有相同的规格

  1. 面向公众的网站
  2. 用于移动应用程序的RESTful API。

我必须基于JSON和数据库依赖项为我的RESTFULL服务分离一个Web项目。 对于我的前端项目,我不依赖数据库,而只依赖我的restfull服务。

通过这种策略,可以对Web项目和移动应用程序使用相同的代码库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM