14.2 Locating the Main Application Class

我们通常建议您在其他类之上的根包中建立主应用程序类.@SpringBootApplication注解通常放在主类上,它隐式地定义了特定项的基本搜索包. 例如,如果您正在编写一个JPA应用程序,则使用@SpringBootApplication注解类将会搜索@Entity项.使用根包将允许组件扫描只应用于您的项目.

Tip

如果您不想使用@SpringBootApplication,那么@EnableAutoConfiguration@ComponentScan注解将能发挥同样的功能,因此您也可以使用它.

下面的清单显示了一个典型的文件布局:

  1. com
  2. +- example
  3. +- myapplication
  4. +- Application.java
  5. |
  6. +- customer
  7. | +- Customer.java
  8. | +- CustomerController.java
  9. | +- CustomerService.java
  10. | +- CustomerRepository.java
  11. |
  12. +- order
  13. +- Order.java
  14. +- OrderController.java
  15. +- OrderService.java
  16. +- OrderRepository.java

Application.java文件将定义main主函数,标注@SpringBootApplication注解,如下图所示:

  1. package com.example.myapplication;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class Application {
  6. public static void main(String[] args) {
  7. SpringApplication.run(Application.class, args);
  8. }
  9. }