我是春季靴子的初学者。我参与了一个项目的开始,我们将使用spring boot构建休息服务。在构建一个只暴露其他服务的项目时,能否请您建议建议的目录结构?
答案 0 :(得分:19)
config - 将从属性文件中读取的类
缓存 - 缓存机制类文件
常量 - 常量定义的类
控制器 - 控制器类
异常 - 异常类
模型 - 将出现pojos课程
安全 - 安全类
服务 - Impl课程
util - 实用程序类
validation - 验证器类
bootloader - 主类
答案 1 :(得分:16)
你不需要做一些特别的事情才能开始。从普通的java项目开始,maven或gradle或具有启动器依赖性的IDE项目布局。
根据指南here,您只需要一个主要课程,然后休息......
没有受约束的包结构。实际结构将由您的需求/心血来潮驱动,目录结构由build-tool / IDE奠定
您可以遵循Spring MVC应用程序可能遵循的相同结构。
您可以按照任何一种方式
项目分为几个层次:
例如:DDD风格
或
任何适合您正在编写问题的问题的图层结构。
项目分为模块或功能或特征,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)
我有一个例子,我已经使用了几年。请看一下作为参考。
答案 4 :(得分:3)
在https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-structuring-your-code.html
中提到了以某种方式推荐的目录结构您可以创建一个api
文件夹并将控制器放在那里。
如果您有一些配置bean,也可以将它们放在一个单独的包中。
答案 5 :(得分:2)
从docs:开始,这是推荐的方法
答案 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)
我认为这是一个很好的结构。这是一篇写得很好的博客,解释了这些选择的心态。