此项目是本人在阅读Spring Boot官方文档(spring-boot-reference-2.0.1.RELEASE)时,写的示例。涵盖了Spring Boot原理与应用的关键点。
-
helloworld
idea创建Spring Boot项目;打包启动jar;spring-boot-starter分类;spring-boot-devtools使用;spring-boot-starter-test测试
-
properties
Spring Boot属性配置(Spring Boot组件属性、自定义属性、多环境配置)
-
web
mybatis集成(使用mysql数据库);数据库事务;restful、mvc拦截器、restdocs;web Servlet、Filter、Listener
-
auto-configuration(重点)
Spring Boot自动配置,实现自定义autoconfigure Module、starter Module,子项目如下:
项目名称 描述 lrucache-api 定义LRUCache接口 non-con-lrucache 基于LinkedHashMap实现LRUCache接口(非线程安全) con-lrucache 基于ConcurrentLinkedHashMap实现LRUCache接口(线程安全) lrucache-spring-boot-autoconfigure 自定义spring-boot-autoconfigure lrucache-spring-boot-starter 自定义spring-boot-starter lrucache-spring-boot-sample Spring Boot集成lrucache-api 项目最终实现Spring Boot集成lrucache-api的不同实现。通过包依赖以及属性lrucache.type自动配置LRUCache实例(唯一),当未设置属性lrucache.type时,按照NonConcurrentLRUCache、ConcurrentLRUCache优先顺序实例化。此外,通过属性lrucache.cache-size可配置缓存容量大小。
参考:
- JDK 1.8
- Spring Boot 2.1.6.RELEASE
- MySQL 5.7
- IntelliJ IDEA
- Maven 3.5.0
- Git VCS