• Reference

  • Developing with Spring Boot

  • Build Systems
    SpringBoot官方提供的starter的列表。

  • Structuring Your Code
    避免使用的默认包。
    应用的入口类,推荐放置在顶层包下。

  • Configuration Classes
    SpringBoot支持Java Config和XML配置,在项目实践中,对于新项目,推荐使用Java Config;对于进入维护期的项目,已使用XML配置,如果后续没有新的预算,则可以维持现状,避免因改造引入过多的质量问题,影响稳定性。

  • Auto-configuration
    着重理解如下注解的用途,使用场景,注意事项:

    • @EnableAutoConfiguration
    • @SpringBootApplication
    • @Configuration
  • Spring Beans and Dependency Injection
    SpringBoot基于Spring框架,集成了Spring框架的所有能力,开发者使用SpringBoot开发应用时同样可以使用依赖注入特性。
    Spring的常见注解,如下:

    • @ComponentScan
    • @Component
    • @Service
    • @Repository
    • @Controller
    • @Autowired
  • Using the @SpringBootApplication Annotation
    @SpringBootApplication可以理解为如下注解的组合:

    • @EnableAutoConfiguration
    • @ComponentScan
    • @SpringBootConfiguration
    • @Configuration

    其它常见的注解:

    • @Import
    • @ConfigurationProperties
  • Running Your Application
    使用命令行方式启动应用,命令样例,如下:

    java -jar target/demo-0.0.1-SNAPSHOT.jar
    

    增加远程调试选项,命令样例,如下:

    java -agentlib:jdwp=server=y,transport=dt_socket,address=8000,suspend=n \
      -jar target/myapplication-0.0.1-SNAPSHOT.jar
    
  • Developer Tools
    开发环境下,可以使用SpringBoot的开发者工具,修改pom.xml,增加如下依赖的配置:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
    

    在生产环境下,启用开发者工具,可能存在安全隐患,因此在构建生产环境的发布包时,推荐禁用spring-boot-devtools

  • Packaging Your Application for Production