spring-boot-demo
🚀一个用来深入学习并实战 Spring Boot 的项目。
Spring Boot Demo: a learning project with a module for everything
A Spring Boot study project that wires together caching, messaging, security, templating, and more, each integration living in its own demo module.
The idea behind the repo
The repository describes itself as a project for deeply learning and practicing Spring Boot. The README frames it as an integration tour: actuator for monitoring, admin for visualization, logback for logging, unified exception handling, template engines like freemarker and thymeleaf, and database access through JdbcTemplate, JPA, and mybatis. Rather than one large application, it is a collection of small demonstrations, each showing a single integration in a digestible form.
What the modules cover
The breadth is the headline. Redis and ehcache handle caching. Email is included. Scheduled tasks run through quartz and xxl job. Swagger manages API documentation. Security uses RBAC based dynamic permissions. SpringSession covers session sharing. RabbitMQ and Kafka handle messaging. Websocket provides server push, and ElasticSearch adds search. Read as a checklist, it covers most of what a working Spring Boot service ends up touching in real life.
Branches and versions
The branch structure tells the version story. The master branch is based on Spring Boot 2.1.0, with each module depending on a root pom for dependency management. A v-1.5.x branch is based on Spring Boot 1.5.8, and the README notes it is no longer developed as content moves to master. For someone learning, master is the branch to follow, and the root pom is where dependency versions are pinned.
What you need to run it
The development environment is spelled out. JDK 1.8 or later, Maven 3.5 or later, IntelliJ IDEA with the lombok plugin, and MySQL 5.7 or later are listed as requirements. Running instructions reference a guide for forked projects. The demo modules are named directly, including demo actuator, demo admin client and server, demo cache redis and ehcache, demo orm jpa and mybatis, demo mq kafka and rabbitmq, demo rbac security and shiro, demo swagger, demo task quartz and xxl job, and demo websocket. Each one exists to demonstrate a single integration for learning.
Community notes