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

时间:2011-03-11 16:17:10

标签: java spring dependencies

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

  1. 面向公众的网站
  2. 移动应用程序的RESTful API。
  3. 我正在使用Spring Tool Suite作为我的IDE开发Spring 3应用程序。起初我认为API将是与公共网站相同的项目的一部分。但后来我尝试将基本身份验证与我的基于表单的auth混合用于公共网站的事情开始让Spring Security有点混乱。

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

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

2 个答案:

答案 0 :(得分:1)

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

我们广泛使用Maven模块和配置文件。它有时会变得有点乱,但它确实强制分离,我认为这通常是一件好事。

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

因此,总而言之,我会说模块化是一种很好的方法,但请调查Maven modules,因为这可能会帮助您了解依赖项。

答案 1 :(得分:0)

我有与你相同的规格

  1. 面向公众的网站
  2. 移动应用程序的RESTful API。
  3. 我必须根据JSON和数据库依赖关系为我的RESTFULL服务分离一个Web项目。对于我的前端项目,我不依赖于数据库,而只依赖于我的restfull服务。

    使用此策略,可以为webprojects和移动应用程序使用相同的代码库。