Spring Boot不需要任何特定的代码布局.但是,有一些最佳实践可以提供帮助.
(1) 使用"默认"包
当一个类不包含packag
e声明时,它被认为是在"默认包"中.通常不鼓励使用"默认包",应该避免使用.对于使用@ComponentScan
,@EntityScan
或@SpringBootApplication
注释的Spring Boot应用程序,它可能导致特定问题,因为每个jar中的每个类都被读取.
我们建议你遵循java推荐的包命名约定并使用反向域名(例如,com.example.project
).
(2) 找到主应用程序类
通常建议将猪应用程序类放在其他类之上的根包中.@SpringBootApplication
注释往往放在主类,它隐式的定义某些项目基本的搜索包.例如,如果你正在编写JPA应用程序,则使用@SpringBootApplication
带注解的类来搜索@Entity
项.使用根包还允许组件扫描尽应用于你的项目.
如果你不想使用@SpringBootApplication
,它导入的@EnableAutoConfiguration
和@ComponentScan
注解会定义该行为,因此你也可以使用它.
-
以下清单显示了典型的布局:
com
± example
± myapplication
± Application.java
|
± customer
| ± Customer.java
| ± CustomerController.java
| ± CustomerService.java
| ± CustomerRepository.java
|
± order
± Order.java
± OrderController.java
± OrderService.java
± OrderRepository.java
Application.java
文件将声明main方法以及基本@SpringBootApplication
,如下所示:
package com.example.myapplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
转载请声明