红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Awalon
Talk is cheap,show me the code.
  1. 首页
  2. 其它
  3. 正文

Spring Boot 教程6:推荐的包结构

2023年5月25日 898点热度 0人点赞 0条评论

声明

这个系列文章是翻译自https://www.baeldung.com/的系列博客,个人感觉是一个非常不错的Spring Boot 教程。原网站属于一个公司,主要开展有偿培训业务,但提供相关文字教程的免费阅读和下载。因为我并没有在网页找到相关版权描述信息,所以并不能确定是否可以自由翻译和转载,如果有版权问题,请联系我,我会撤下这个系列文章。

原文地址:Recommended Package Structure of a Spring Boot Project

因为版权的关系,本文禁止转载。


概述

在构建新的 Spring Boot 项目时,我们可以高度灵活地组织我们的类。

尽管如此,仍有一些建议我们需要牢记在心。

无默认包

鉴于Spring Boot 注解(如 @ComponentScan ,@EntityScan,@ConfigurationPropertiesScan 和 @SpringBootApplication )使用包来定义扫描位置,建议避免使用默认包——也就是说,我们应该始终在我们的类中声明包。

主类

@SpringBootApplication 注解触发当前包及其子包的组件扫描。因此,一个可靠的方法是让项目的主类驻留在基包中。

这是可配置的,我们仍然可以通过手动指定基本包将其定位到其他地方。但是,在大多数情况下,这个选项肯定更简单。

更重要的是,基于JPA的项目需要在主类上有一些额外的注释:

@SpringBootApplication(scanBasePackages = "example.baeldung.com")
@EnableJpaRepositories("example.baeldung.com")
@EntityScan("example.baeldung.com")

此外,请注意可能需要额外的配置。

设计

包结构的设计独立于 Spring Boot。因此,它应该是由我们的项目的需求决定。

一种流行的策略是按功能组织包,它增强了模块化,并使子包内部的包私有可见性。

让我们以 PetClinic 项目为例。这个项目是由Spring开发人员构建的,以说明他们对如何构建通用Spring Boot 项目的看法。

它是以按功能分组的方式组织的。因此,我们有主包 org.springframework.samples.petclinic 和5个子包:

  • org.springframework.samples.petclinic.model

  • org.springframework.samples.petclinic.owner

  • org.springframework.samples.petclinic.system

  • org.springframework.samples.petclinic.vet

  • org.springframework.samples.petclinic.visit

它们中的每一个都代表应用程序的一个域或一个特性,将高度耦合的类分组在内部并实现高内聚。

结论

在这篇小文章中,我们了解了在构建 Spring Boot 项目时需要记住的一些建议-并了解了如何设计包结构。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: spring spring boot 包结构
最后更新:2023年5月25日

魔芋红茶

加一点PHP,加一点Go,加一点Python......

点赞
< 上一篇
下一篇 >

文章评论

取消回复

*

code

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号