Spring boot 梳理 - 代码结构(Main类的位置)
- Spring boot 对代码结构无特殊要求,但有个套最佳实践的推荐
- 不要使用没有包名的类。没有包名时,
@ComponentScan
,@EntityScan
, or@SpringBootApplication
可能会有问题。 - Main类在包路径中的位置:强烈建议main类放在包的根路径上。We generally recommend that you locate your main application class in a root package above other classes. The
@SpringBootApplication
annotation is often placed on your main class, and it implicitly defines a base “search package” for certain items. For example, if you are writing a JPA application, the package of the@SpringBootApplication
annotated class is used to search for@Entity
items. Using a root package also allows component scan to apply only on your project.-
com +- example +- myapplication +- Application.java | +- customer | +- Customer.java | +- CustomerController.java | +- CustomerService.java | +- CustomerRepository.java | +- order +- Order.java +- OrderController.java +- OrderService.java +- OrderRepository.java
-
- The
Application.java
file would declare themain
method, along with the basic@SpringBootApplication
, as follows:-
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); } }
-
-
@RestController @EnableAutoConfiguration public class App { @RequestMapping("/hello") public HashMap<String,String> hello(){ HashMap<String,String> result=new HashMap<String,String>(); result.put("name", "jt"); return result; } public static void main( String[] args ) { SpringApplication.run(App.class, args); } }
- 不要使用没有包名的类。没有包名时,