一、什么是Spring Boot
随着技术日新月异的发展,如今的软件设计已不想曾经那般单一。业务复杂,功能繁琐,大量三方组件的相互集成,成为了开发的一大难题。幸而,Spring Boot如同一道曙光,为我们java开发者带来了福音,让我们摆脱项目构架时各种配置的闹心,得以专心于项目逻辑的编写。
Spring Boot 的核心理念是“习惯优于配置”,它让大量依赖默认集成成为了可能。借助于Spring Boot 我们能做到以下几点:
1:对主流框架,不需要任何xml配置,即可默认集成
2:内嵌tomcat等服务器容器,无需打包为war,直接java -jar快捷部署运行
3:实时监控整个项目的运行状况
4:采用bean或者xml形式,引入自定义配置
5:通过 Spring Initializr 快速生成项目
二、Spring Boot的主要依赖
2.1 Spring Boot应用程序启动器
名称 | 描述 |
核心启动器,包括自动配置支持,日志记录和YAML | |
使用Apache ActiveMQ进行JMS消息传递 | |
使用Spring AMQP和Rabbit MQ | |
使用Spring AOP和AspectJ进行面向方面编程 | |
使用Apache Artemis进行JMS消息传递 | |
使用Spring Batch批量处理 | |
提供Spring Framework的缓存支持 | |
使用Spring Cloud Connectors的简化了Cloud Foundry和Heroku等云平台中的服务连接 | |
使用Cassandra分布式数据库和Spring Data Cassandra | |
使用Cassandra分布式数据库和Spring Data Cassandra Reactive | |
使用Couchbase面向文档的数据库和Spring Data Couchbase | |
使用Couchbase面向文档的数据库和Spring Data Couchbase Reactive | |
使用Elasticsearch搜索和分析引擎以及Spring Data Elasticsearch | |
使用Spring Data JDBC | |
使用Spring Data JPA与Hibernat | |
使用Spring Data LDAP | |
使用MongoDB面向文档的数据库和Spring Data MongoDB | |
使用MongoDB面向文档的数据库和Spring Data MongoDB Reactive | |
使用Neo4j图形数据库和Spring Data Neo4j | |
与Spring Data Redis和Lettuce客户端一起使用Redis键值数据存储 | |
使用Redis键值数据存储与Spring Data Redis被动和Lettuce客户端 | |
使用Spring Data REST通过REST公开Spring Data存储库 | |
使用Apache Solr搜索平台和Spring Data Solr | |
使用FreeMarker视图构建MVC Web应用程序 | |
使用Groovy模板视图构建MVC Web应用程序 | |
使用Spring MVC和Spring HATEOAS构建基于超媒体的RESTful Web应用程序 | |
使用Spring Integration | |
将JDBC与HikariCP连接池一起使用 | |
使用JAX-RS和Jersey构建RESTful Web应用程序。替代spring-boot-starter-web | |
使用jOOQ访问SQL数据库。替代spring-boot-starter-data-jpa或spring-boot-starter-jdbc | |
读写json | |
使用Atomikos进行JTA交易 | |
使用Bitronix进行JTA事务 | |
使用Java Mail和Spring Framework的电子邮件发送支持 | |
使用Mustache视图构建Web应用程序 | |
使用Spring Security的OAuth2 / OpenID Connect客户端功能 | |
使用Quartz调度程序 | |
使用Spring Security 权限管理 | |
使用JUnit,Hamcrest和Mockito等库来测试Spring Boot应用程序 | |
使用Thymeleaf视图构建MVC Web应用程序 | |
使用Java Bean Validation和Hibernate Validator进行参数校验 | |
使用Spring MVC构建Web(包括RESTful)应用程序。使用Tomcat作为默认嵌入式容器 | |
使用Spring Web Services | |
使用Spring Framework的Reactive Web支持构建WebFlux应用程序 | |
使用Spring Framework的WebSocket支持构建WebSocket应用程序 |
2.2 Spring Boot应用监控
名称 | 描述 |
使用Spring Boot的Actuator的启动器,它提供生产就绪功能,帮助您监控和管理您的应用程序 |
2.3 Spring Boot服务容器或日志替换
名称 | 描述 |
使用Jetty作为嵌入式servlet容器。替代spring-boot-starter-tomcat | |
使用Log4j2进行日志记录。替代spring-boot-starter-logging | |
使用Logback进行日志记录。默认日志启动器 | |
使用Reactor Netty作为嵌入式响应式HTTP服务器。 | |
使用Tomcat作为嵌入式servlet容器。使用的默认servlet容器启动器spring-boot-starter-web | |
使用Undertow作为嵌入式servlet容器。替代spring-boot-starter-tomcat |