春季靴子休息项目的推荐项目结构是什么?

时间:2016-12-01 03:45:29

标签: java spring rest spring-boot

我是春季靴子的初学者。我参与了一个项目的开始,我们将使用spring boot构建休息服务。在构建一个只暴露其他服务的项目时,能否请您建议建议的目录结构?

9 个答案:

答案 0 :(得分:19)

config - 将从属性文件中读取的类

缓存 - 缓存机制类文件

常量 - 常量定义的类

控制器 - 控制器类

异常 - 异常类

模型 - 将出现pojos课程

安全 - 安全类

服务 - Impl课程

util - 实用程序类

validation - 验证器类

bootloader - 主类

答案 1 :(得分:16)

需要做一些特别的事情才能开始。从普通的java项目开始,maven或gradle或具有启动器依赖性的IDE项目布局。

根据指南here,您只需要一个主要课程,然后休息......

没有受约束的包结构。实际结构将由您的需求/心血来潮驱动,目录结构由build-tool / IDE奠定

您可以遵循Spring MVC应用程序可能遵循的相同结构。

您可以按照任何一种方式

  • 项目分为几个层次:

    例如:DDD风格

    • 服务层:服务包包含服务类
    • DAO / REPO图层:包含dao类的dao包
    • 实体图层



    任何适合您正在编写问题的问题的图层结构。

  • 项目分为模块或功能或特征,A模块分为以上层次

我更喜欢第二种,因为它遵循商业环境。从概念的角度思考。

您所做的工作取决于您对项目的看法。这是你的代码组织技能。

答案 2 :(得分:6)

尽管这个问题的答案是可以接受的,但我仍想与我分享RESTful服务的项目结构。

src/main/java
    +- com
        +- example
            +- Application.java
            +- ApplicationConstants.java
                +- configuration
                |   +- ApplicationConfiguration.java
                +- controller
                |   +- ApplicationController.java
                +- dao
                |   +- impl
                |   |   +- ApplicationDaoImpl.java
                |   +- ApplicationDao.java
                +- dto
                |   +- ApplicationDto.java
                +- service
                |   +- impl
                |   |   +- ApplicationServiceImpl.java
                |   +- ApplicationService.java
                +- util
                |   +- ApplicationUtils.java
                +- validation
                |   +- impl
                |   |   +- ApplicationValidationImpl.java
                |   +- ApplicationValidation.java

DAO =数据访问对象。
DTO =数据传输对象。

答案 3 :(得分:4)

我有一个例子,我已经使用了几年。请看一下作为参考。

https://github.com/bigzidane/springboot-rest-h2-swagger

答案 4 :(得分:3)

https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-structuring-your-code.html

中提到了以某种方式推荐的目录结构

您可以创建一个api文件夹并将控制器放在那里。

如果您有一些配置bean,也可以将它们放在一个单独的包中。

答案 5 :(得分:2)

docs:开始,这是推荐的方法

enter image description here

答案 6 :(得分:1)

请使用Spring Tool Suite(为开发Spring应用程序而定制的基于Eclipse的开发环境)。
创建一个Spring Starter项目,它将使用spring boot maven依赖项为您创建目录结构。

答案 7 :(得分:1)

使用Link-1生成项目。这是一个学习的基本项目。你可以理解文件夹结构。 使用Link-2创建基本的Spring启动项目。 1:http://start.spring.io/ 2:https://projects.spring.io/spring-boot/

创建gradle / maven项目将自动创建src / main / java和src / main / test。创建控制器/服务/存储库包并开始编写代码。

-src / main / java(源文件夹)     --- com.package.service(包)            ---服务类(类)     --- com.package.controller(包)            --- ControllerClass(类)

答案 8 :(得分:1)

https://medium.com/the-resonant-web/spring-boot-2-0-project-structure-and-best-practices-part-2-7137bdcba7d3

我认为这是一个很好的结构。这是一篇写得很好的博客,解释了这些选择的心态。