目录
概述
无默认package
入口类
包结构
概述
我们在构建Springboot项目的时候,我们可以很灵活的去管理我的们class,以及创建包结构,但是有一些原则我们要牢记在心。
无默认package
Springboot中的一些注解例如@ComponentScan,@EntityScan, @ConfigurationPropertiesScan 和 @SpringBootApplication需要使用包的路径去扫瞄,所以我们应该避免使用默认的package。
入口类
我们通常使用注解@SpringbootApplication来触发组件扫描,检查当前文件夹以及对应子文件夹中的组件,组件扫描的地址当然也可以配置。
@SpringBootApplication(scanBasePackages = "example.csdn.com")
包结构
至于package的结构,可以自定义,根据项目的不同有不同的形式,一种流行的方式是根据功能拆分,比如PetClinic这个项目,spring官方推荐的项目用来展示如何定义包结构,除了mainClass所在的包org.springframework.samples.petclinic外还有如下的包结构。
-
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
总之,良好的包结构可以使代码高内聚低耦合,便于开发人员的开发和维护。