构建你的代码

Spring Boot不需要任何特定的代码布局来工作,但是,有一些最佳实践可以帮助你更好的工作。

使用"default"包

当类不声明包时,它会被认为是在"default"包.应该避免使用"default"包.对于使用@ComponentScan,@EntityScan或@SpringBootApplication注解的Spring Boot应用,可能会导致特定的问题,因为每个jar中的每个类都会被读取.

Spring Boot建议遵循Java建议的程序包命名约定,并使用反向域名(例如,com.example.project)。

定位主application类

Spring Boot建议你在高于其他类的根包中找到你的主应用程序类。@EnableAutoConfiguration注解通常放在你的主类上,它隐式定义了某个项目的基本"search package"。例如,如果你正在编写jar应用,则@EnableAutoConfiguration注解类的包将用于搜索@Entity项

使用根包也允许使用@ComponentScan注解,而不需要指定basePackage属性。 如果您的主类位于根包中,则还可以使用@SpringBootApplication注解。

这里是一个典型的包布局:

    com
     +- example
         +- myproject
             +- Application.java
             |
             +- domain
             |   +- Customer.java
             |   +- CustomerRepository.java
             |
             +- service
             |   +- CustomerService.java
             |
             +- web
                 +- CustomerController.java

Application.java文件将声明main方法以及基本的@Configuration。

    package com.example.myproject;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;

    @Configuration
    @EnableAutoConfiguration
    @ComponentScan
    public class Application {

        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }

    }
Copyright © www.gitbook.com/@herryZ 2016 all right reserved,powered by Gitbook该文件修订时间: 2017-01-06 08:13:12

results matching ""

    No results matching ""