SpringBoot代码构建
Spring Boot 1.5.17
14. Structuring your code
谷歌+个人翻译,水平有限
14.构建代码
Spring Boot不需要任何特殊的代码布局,但是有些最好的实践建议
14.1 使用default package
当一个class没有package
声明时,该class被认为在default package
中。通常,default package
是不被鼓励使用的,且应该避免的。对于使用@ComponentScan、@EntityScan或@SpringBootApplication注释的SpringBoot应用程序来说,这可能会导致一些特殊问题,因为每个jar中的每个类都将被读取。
建议 遵循Java推荐的程序包命名约定并使用反向域名(例如,com.example.project).
14.2 主应用程序的位置
通常推荐main application
放在其他class之上 的根包下。@SpringBootApplication
注释通常放在主类上,它隐式地为某些项定义了一个基本的“搜索包”。例如,如果您正在编写JPA应用程序,那么将使用@SpringBootApplication注释类的包来搜索@Entity项。使用根包还允许组件扫描仅应用于您的项目。如果您不想使用@SpringBootApplication,那么它导入的@EnableAutoConfiguration和@ComponentScan注释将定义该行为,因此您也可以使用该行为。
典型的布局
COM
-
- 例子
-
- myproject
-
- Application.java
|
- Application.java
-
- domain
| + - Customer.java
| + - CustomerRepository.java
|
- domain
-
- service
| + - CustomerService.java
|
- service
-
- web
-
- CustomerController.java