Spring boot 梳理 - 代码结构(Main类的位置)

  1. Spring boot 对代码结构无特殊要求,但有个套最佳实践的推荐
    1. 不要使用没有包名的类。没有包名时,@ComponentScan, @EntityScan, or @SpringBootApplication 可能会有问题。
    2. 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.
      1. com
         +- example
             +- myapplication
                 +- Application.java
                 |
                 +- customer
                 |   +- Customer.java
                 |   +- CustomerController.java
                 |   +- CustomerService.java
                 |   +- CustomerRepository.java
                 |
                 +- order
                     +- Order.java
                     +- OrderController.java
                     +- OrderService.java
                     +- OrderRepository.java

         

    3. The Application.java file would declare the main method, along with the basic @SpringBootApplication, as follows:
      1. 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);
            }
        
        }

         

    4. @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);
          }
      }

       

posted on 2018-12-21 22:34  手握太阳  阅读(1705)  评论(0编辑  收藏  举报

导航