目录

  • 1 初识Java EE
    • 1.1 新建目录
    • 1.2 新建目录
  • 2 Spring Boot知识回顾
    • 2.1 学习目标
    • 2.2 ​Spring Boot简介
      • 2.2.1 Eclipse中Spring Boot开发环境安装
      • 2.2.2 Eclipse中手工构建Spring Boot项目(一)
      • 2.2.3 Eclipse中手工构建Spring Boot项目(二)
      • 2.2.4 Spring Tool Suite中构建Spring boot项目
      • 2.2.5 Spring Boot的开发步骤
  • 3 Spring Boot核心配置
    • 3.1 学习目标
    • 3.2 Spring Boot核心配置
    • 3.3 基本配置
    • 3.4 日志配置
    • 3.5 读取应用配置
  • 4 Spring Boot的Web开发
    • 4.1 学习目标
    • 4.2 Spring Boot的Web开发支持
    • 4.3 Thymeleaf模板引擎
      • 4.3.1 Spring Boot与Thymeleaf实现页面信息国际化
      • 4.3.2 Spring Boot与Thymeleaf的表单验证
    • 4.4 Spring Boot处理JSON数据
    • 4.5 Spring Boot文件上传与下载
    • 4.6 Spring Boot的异常统一处理
    • 4.7 Spring Boot对JSP的支持
    • 4.8 Spring Boot与MyBatis的集成
    • 4.9 Spring Boot与MyBatis整合(项目重构)
  • 5 Spring Boot的数据访问
    • 5.1 学习目标
    • 5.2 REST
      • 5.2.1 REST 简介
      • 5.2.2 Spring Boot整合REST
      • 5.2.3 Spring Data REST
    • 5.3 Spring Data JPA
      • 5.3.1 简单条件查询-案例专家抽取系统
      • 5.3.2 关联查询 (一对一)
      • 5.3.3 关联查询 (一对多)
      • 5.3.4 关联查询 (多对多)
      • 5.3.5 @Query和@Modifying注解
      • 5.3.6 排序与分页查询
    • 5.4 Spring Boot使用JdbcTemplate
    • 5.5 Spring Boot的事务管理
    • 5.6 MongoDB
    • 5.7 Redis
      • 5.7.1 安装Redis
      • 5.7.2 SpringBoot整合Redis
      • 5.7.3 使用StringRedisTemplate和RedisTemplate
    • 5.8 数据缓存Cache
      • 5.8.1 Spring Boot缓存支持
      • 5.8.2 Redis Cache运行测试
      • 5.8.3 ehCache
  • 6 Spring Boot的安全控制
    • 6.1 学习目标
    • 6.2 Spring Security快速入门
    • 6.3 基于Spring Data JPA的Spring Boot Security操作实例
    • 6.4 基于MyBatis的Spring Boot Security操作实例
  • 7 异步消息
    • 7.1 学习目标
    • 7.2 消息模型
    • 7.3 JMS消息代理
    • 7.4 AMQP消息代理
  • 8 Spring Boot的热部署与单元测试
    • 8.1 学习目标
    • 8.2 开发的热部署
      • 8.2.1 模板引擎的热部署
      • 8.2.2 使用spring-boot-devtools进行热部署
    • 8.3 Spring Boot的单元测试
  • 9 监控Spring Boot应用
    • 9.1 学习目标
    • 9.2 端点的分类与测试
    • 9.3 自定义端点
    • 9.4 自定义HealthIndicator
  • 10 电子商务平台开发
    • 10.1 学习目标
    • 10.2 系统设计与实现
    • 10.3 后台管理子系统
    • 10.4 前端页面子系统
基本配置

1 启动类和核心注解

  • @SpringBootApplication注解

    Spring Boot应用通常都有一个名为*Application的程序入口类,该入口类需要使用Spring Boot的核心注解@SpringBootApplication标注为应用的启动类。

Spring Boot的核心注解@SpringBootApplication是一个组合注解,主要组合了@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan注解。

  • @SpringBootConfiguration注解

    @SpringBootConfiguration是SpringBoot应用的配置注解,该注解也是一个组合注解,源代码可以从spring-boot-2.1.4.RELEASE.jar依赖包中查看org/springframework/boot/SpringBootConfiguration.java。在Spring Boot应用中推荐使用@SpringBootConfiguration注解替代@Configuration注解。

  • @EnableAutoConfiguration注解

    @EnableAutoConfiguration注解可以让Spring Boot根据当前应用项目所依赖的jar自动配置项目的相关配置。例如,在SpringBoot项目的pom.xml文件中添加了spring-boot-starter-web依赖,Spring Boot项目会自动添加Tomcat和Spring MVC的依赖,同时对Tomcat和Spring MVC进行自动配置。打开pom.xml文件,选择Dependency Hierarchy页面查看spring-boot-starter-web的自动配置,如下图所示。



  • @ComponentScan注解

    该注解的功能是让Spring Boot自动扫描@SpringBootApplication所在类的同级包以及它的子包中的配置,所以建议将@SpringBootApplication注解的入口类放置在项目包下(Group Id+Artifact Id组合的包名),这样可以保证Spring Boot自动扫描项目所有包中的配置。

2 关闭某个特定的自动配置

    如果开发者不需要Spring Boot的某一项自动配置,该如何实现呢?通过查看@SpringBootApplication的源代码可知,应该使用@SpringBootApplication注解的exclude参数关闭特定的自动配置,以关闭neo4j自动配置为例,代码如下:

@SpringBootApplication(exclude={Neo4jDataAutoConfiguration.class})

3 定制Banner

    首先,打开网站http://patorjk.com/software/taag,输入自定义字符串,单击网页下方的“Select & Copy”按钮,如图4.4所示。然后,将自定义banner字符串图案复制到src/main/resources目录下的banner.txt文件中。


4 关闭banner

开发者如果需要关闭banner,可以在src/main/resources目录下的application.properties文件中添加如下配置:

spring.main.banner-mode = off

5 Spring Boot的全局配置文件

1.设置端口号

    使用全局配置文件主要用于修改项目的默认配置,如修改内嵌的Tomcat的默认端口。例如,在Spring Boot项目ch4_1的src/main/resources目录下找到名为application.properties的全局配置文件,添加如下配置内容:server.port=8888

 2.设置Web应用的上下文路径

    如果开发者想设置一个Web应用程序的上下文路径,可以在application.properties文件中配置如下内容:

    server.servlet.context-path=/XXX

    这时应该通过“http://localhost:8080/XXX/testStarters”访问如下控制器类中的请求处理方法:

@RequestMapping("/testStarters")

public String index() {

}

6 Spring Boot的Starters

    Spring Boot提供了很多简化企业级开发的“开箱即用”的Starters。Spring Boot项目只要使用了所需要的Starters,Spring Boot就可以自动关联项目开发所需要的相关依赖。例如,我们在ch4_1的pom.xml文件中,添加如下依赖配置:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

    Spring Boot将自动关联Web开发的相关依赖,如tomcat、spring-webmvc等,进而对Web开发的支持,并将相关技术的配置实现自动配置。

  通过访问“https://docs.spring.io/spring-boot/docs/2.1.4.RELEASE/reference/htmlsingle/#

using-boot-starter”官网,可以查看Spring Boot官方提供的Starters