# spring-boot-demo
**Repository Path**: study00/spring-boot-demo
## Basic Information
- **Project Name**: spring-boot-demo
- **Description**: No description available
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2020-08-31
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Spring Boot Demo
[](https://github.com/xkcoding/spring-boot-demo/blob/master/LICENSE) [](https://github.com/xkcoding/spring-boot-demo/stargazers) [](https://github.com/xkcoding/spring-boot-demo/fork) [](https://github.com/xkcoding/spring-boot-demo/watchers)
spring boot demo 是一个用来学习 spring boot 的项目,已经集成 actuator (监控)、admin (可视化监控)、logback (日志)、aopLog (通过 AOP 记录 web 请求日志)、统一异常处理( json 级别和页面级别)、freemarker (模板引擎)、thymeleaf (模板引擎)、Beetl (模板引擎)、JdbcTemplate、JPA (ORM 框架)、mybatis (ORM 框架)、redis-cache (缓存)、task (定时任务)、swagger (API 接口管理测试)、ureport2 (中国式报表)、打包成 war 文件、集成 ElasticSearch (采用原生操作 ES 的方式)、集成 Dubbo (采用非官方的 starter),后续会集成activemq,email,shiro,websocket,quartz,netty等模块。
依赖的 Spring Boot 版本:
```xml
org.springframework.boot
spring-boot-starter-parent
1.5.8.RELEASE
```
### 开发环境
- **JDK1.8 +**
- **Maven 3.5 +**
- **IntelliJ IDEA ULTIMATE 2017.2 +**
- **mysql 5.7 +** (*尽量5.7版本以上,因为5.7版本加了一些新特性,不向下兼容。本demo里会尽量避免这种不兼容的地方,但还是建议尽量保证5.7版本以上*)
### 开发计划
[**进度计划**](https://github.com/xkcoding/spring-boot-demo/projects/1?fullscreen=true) 或直接查看 [TODO](./TODO.md)
### spring-boot-demo-parent
除了 **Dubbo** 的 demo 以外,所有的 **Module** 均依赖:[**spring-boot-demo-parent**](./spring-boot-demo-parent)
### pom.xml
```xml
4.0.0
com.xkcoding
spring-boot-demo-parent
0.0.1-SNAPSHOT
pom
spring-boot-demo-parent
The parent of spring-boot-demo
../spring-boot-demo-helloworld
../spring-boot-demo-properties
../spring-boot-demo-actuator
../spring-boot-demo-admin
../spring-boot-demo-logback
../spring-boot-demo-aoplog
../spring-boot-demo-exceptionhandler
../spring-boot-demo-template-freemarker
../spring-boot-demo-template-thymeleaf
../spring-boot-demo-orm-jpa
../spring-boot-demo-orm-mybatis
../spring-boot-demo-cache-redis
../spring-boot-demo-swagger
../spring-boot-demo-rabc-shiro-mybatis
../spring-boot-demo-ureport2
../spring-boot-demo-war
../spring-boot-demo-util
../spring-boot-demo-elasticsearch
../spring-boot-demo-template-beetl
../spring-boot-demo-task-schedule
../spring-boot-demo-orm-jdbctemplate
org.springframework.boot
spring-boot-starter-parent
1.5.8.RELEASE
UTF-8
UTF-8
1.8
3.2.0
3.5
3.2.2
1.10
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
mysql
mysql-connector-java
org.apache.commons
commons-lang3
${commons.lang3.version}
commons-collections
commons-collections
${commons.collections.version}
commons-codec
commons-codec
${commons.codec.version}
com.xiaoleilu
hutool-all
${hutool.version}
com.google.guava
guava
23.0
org.projectlombok
lombok
org.springframework.boot
spring-boot-maven-plugin
```
### 各 Module 介绍
| Module 名称 | Module 介绍 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| [spring-boot-demo-helloworld](./spring-boot-demo-helloworld) | spring-boot 的一个 helloworld |
| [spring-boot-demo-properties](./spring-boot-demo-properties) | spring-boot 读取配置文件中的内容 |
| [spring-boot-demo-actuator](./spring-boot-demo-actuator) | spring-boot 集成 spring-boot-starter-actuator 用于监控 spring-boot 的启动和运行状态 |
| [spring-boot-demo-admin](./spring-boot-demo-admin) | spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用 |
| [spring-boot-demo-logback](./spring-boot-demo-logback) | spring-boot 集成 logback 日志 |
| [spring-boot-demo-aoplog](./spring-boot-demo-aoplog) | spring-boot 使用 AOP 切面的方式记录 web 请求日志 |
| [spring-boot-demo-exceptionhandler](./spring-boot-demo-exceptionhandler) | spring-boot 统一异常处理,包括2种,一种返回统一的 json 格式,第二种统一跳转到异常页面 |
| [spring-boot-demo-template-freemarker](./spring-boot-demo-template-freemarker) | spring-boot 集成 freemarker 模板引擎 |
| [spring-boot-demo-template-thymeleaf](./spring-boot-demo-template-thymeleaf) | spring-boot 集成 thymeleaf 模板引擎 |
| [spring-boot-demo-template-beetl](./spring-boot-demo-template-beetl) | spring-boot 集成 Beetl 模板引擎 |
| [spring-boot-demo-orm-jpa](./spring-boot-demo-orm-jpa) | spring-boot 集成 spring-boot-starter-data-jpa 操作数据库 |
| [spring-boot-demo-orm-mybatis](./spring-boot-demo-orm-mybatis) | spring-boot 集成 [mybatis-spring-boot-starter](https://github.com/mybatis/spring-boot-starter)、[mybatis-spring-boot-starter](https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter) |
| [spring-boot-demo-cache-redis](./spring-boot-demo-cache-redis) | spring-boot 使用 Redis 做缓存 |
| [spring-boot-demo-task-schedule](./spring-boot-demo-task-schedule) | spring-boot 使用 @Scheduled 实现定时任务 |
| [spring-boot-demo-swagger](./spring-boot-demo-swagger) | spring-boot 集成 [spring-boot-starter-swagger](https://github.com/SpringForAll/spring-boot-starter-swagger) (由大佬[翟永超](http://blog.didispace.com/)开源)用于统一管理、测试 API 接口 |
| [spring-boot-demo-ureport2](./spring-boot-demo-ureport2) | spring-boot 集成 [ureport2](https://github.com/youseries/ureport) 实现自定义报表(ureport2可以轻松实现复杂的中国式报表,功能十分强大) |
| [spring-boot-demo-war](./spring-boot-demo-war) | spring-boot 打成 war 包的配置 |
| [spring-boot-demo-elasticsearch](./spring-boot-demo-elasticsearch) | spring-boot 集成 ElasticSearch(采用原生操作 ES 的方式) |
| [spring-boot-demo-dubbo-parent](./spring-boot-demo-dubbo-parent) | spring-boot 集成 Dubbo |
# 官方提供的 starter 介绍
| Name | Description |
| :------------------------------------- | :--------------------------------------- |
| spring-boot-starter | The core Spring Boot starter, including auto-configuration support, logging and YAML. |
| spring-boot-starter-actuator | Production ready features to help you monitor and manage your application. |
| spring-boot-starter-amqp | are neat |
| spring-boot-starter-aop | Support for aspect-oriented programming including spring-aop and AspectJ. |
| spring-boot-starter-artemis | Support for “Java Message Service API” via Apache Artemis. |
| spring-boot-starter-batch | Support for “Spring Batch” including HSQLDB database. |
| spring-boot-starter-cache | Support for Spring’s Cache abstraction. |
| spring-boot-starter-cloud-connectors | Support for “Spring Cloud Connectors” which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku. |
| spring-boot-starter-data-elasticsearch | Support for the Elasticsearch search and analytics engine including spring-data-elasticsearch. |
| spring-boot-starter-data-gemfire | Support for the GemFire distributed data store including spring-data-gemfire. |
| spring-boot-starter-data-jpa | Support for the “Java Persistence API” including spring-data-jpa, spring-orm and Hibernate. |
| spring-boot-starter-data-mongodb | Support for the MongoDB NoSQL Database, including spring-data-mongodb. |
| spring-boot-starter-data-rest | Support for exposing Spring Data repositories over REST via spring-data-rest-webmvc. |
| spring-boot-starter-data-solr | Support for the Apache Solr search platform, including spring-data-solr. |
| spring-boot-starter-freemarker | Support for the FreeMarker templating engine. |
| spring-boot-starter-groovy-templates | Support for the Groovy templating engine. |
| spring-boot-starter-hateoas | Support for HATEOAS-based RESTful services via spring-hateoas. |
| spring-boot-starter-hornetq | Support for “Java Message Service API” via HornetQ. |
| spring-boot-starter-integration | Support for common spring-integration modules. |
| spring-boot-starter-jdbc | Support for JDBC databases. |
| spring-boot-starter-jersey | Support for the Jersey RESTful Web Services framework. |
| spring-boot-starter-jta-atomikos | Support for JTA distributed transactions via Atomikos. |
| spring-boot-starter-jta-bitronix | Support for JTA distributed transactions via Bitronix. |
| spring-boot-starter-mail | Support for javax.mail. |
| spring-boot-starter-mobile | Support for spring-mobile. |
| spring-boot-starter-mustache | Support for the Mustache templating engine. |
| spring-boot-starter-redis | Support for the REDIS key-value data store, including spring-redis. |
| spring-boot-starter-security | Support for spring-security. |
| spring-boot-starter-social-facebook | Support for spring-social-facebook. |
| spring-boot-starter-social-linkedin | Support for spring-social-linkedin. |
| spring-boot-starter-social-twitter | Support for spring-social-twitter. |
| spring-boot-starter-test | Support for common test dependencies, including JUnit, Hamcrest and Mockito along with the spring-test module. |
| spring-boot-starter-thymeleaf | Support for the Thymeleaf templating engine, including integration with Spring. |
| spring-boot-starter-velocity | Support for the Velocity templating engine. |
| spring-boot-starter-web | Support for full-stack web development, including Tomcat and spring-webmvc. |
| spring-boot-starter-websocket | Support for WebSocket development. |
| spring-boot-starter-ws | Support for Spring Web Services. |
# License
[MIT](http://opensource.org/licenses/MIT)
Copyright (c) 2017 Yangkai.Shen