Spring Boot项目分层架构
在一个的springboot当中,controller,servicem,pojo,mapper,以及其他的文件夹,这些文件一般是分别用来干嘛的?
在Spring Boot项目中,分层架构是一种常见的项目结构模式。它将项目的代码划分为不同的层,不同的文件夹和文件通常用于组织项目的不同部分,每个部分都有特定的职责和功能。以下是这些文件夹的常见用途:
Controller:
- 职责:处理HTTP请求并返回响应。
- 位置:通常位于
com.example.projectname.controller包中。 - 作用:Controller类通常使用
@RestController或@Controller注解标注,包含映射请求路径的方法(使用@RequestMapping、@GetMapping、@PostMapping等注解),负责处理客户端的请求,调用Service层处理业务逻辑,并将结果返回给客户端。
Service:
- 职责:处理具体的业务逻辑。
- 位置:通常位于
com.example.projectname.service包中。 - 作用:Service类通常使用
@Service注解标注,封装和实现项目的核心业务逻辑,负责与数据层(DAO或Repository层)交互。Service层通常会调用Mapper或Repository接口来进行数据库操作。
POJO (Plain Old Java Object):
- 职责:表示项目中的数据对象或实体类。
- 位置:通常位于
com.example.projectname.pojo或com.example.projectname.model包中。 - 作用:POJO类包含项目中的数据结构定义,通常包含属性、构造方法、getter和setter方法。POJO类可以通过
@Entity注解标注(如果使用JPA),也可以包含数据验证注解(如@NotNull、@Size等)。
Mapper:
- 职责:数据库操作接口,用于MyBatis或类似的ORM框架。
- 位置:通常位于
com.example.projectname.mapper包中。 - 作用:Mapper接口通常使用
@Mapper注解标注,定义了数据库操作方法(如insert、update、delete、select等),这些方法通常与XML映射文件或注解(如@Select、@Insert等)绑定,实现数据库CRUD操作。
Repository:
- 职责:数据访问层接口,用于Spring Data JPA等。
- 位置:通常位于
com.example.projectname.repository包中。 - 作用:Repository接口通常继承
JpaRepository、CrudRepository或PagingAndSortingRepository接口,提供标准的数据访问方法(如save、findById、findAll等),用于与数据库交互。
其他文件夹:
- Config:用于存放配置类,通常位于
com.example.projectname.config包中,包含项目的各种配置类(如数据库配置、Swagger配置、安全配置等)。 - Utils:用于存放工具类,通常位于
com.example.projectname.util包中,包含各种辅助方法或工具类。 - DTO(Data Transfer Object):用于数据传输对象,通常位于
com.example.projectname.dto包中,定义用于在各层之间传输的数据结构。
这种分层架构有助于项目的模块化和维护,使得项目结构清晰,职责分明,便于开发、测试和扩展。
【转载自:】开思通智网
【原文链接:】https://www.opensnn.com/os/article/10000757
2593

被折叠的 条评论
为什么被折叠?



