下面的内容转载自Spring Boot简介,但是和原本的内容有所区别,自己进行了些修改整合适合自己进行理解的更加透彻
1.什么是spring boot
简单的说,spring boot就是整合了很多优秀的框架,不用我们自己手动的去写一堆 xml配置然后进行配置。
从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使 用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置,而且 springboot的很多默认编码方式都是utf-8。
Spring Boot精要
Spring将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。
- 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置
- 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
- 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
- Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。
- 动态语言:不需要编译,直接运行,比如JS。
- 静态语言:先编译再运行。
配置指的是xml配置,低下的开发效率指的是编写完代码之后需要进行大量的xml配置,但是单从写代码而言,Java开发效率还是比较高的,因为有许多写好的第三方jar包。
微服务: 将子系统拆成一个一个的jar包运行就是微服务。(如果你学过和用过dubbo等你就知道了)
2.优缺点
3、Spring Boot的运行环境
Spring Boot最新版可以运行在Java6+的环境下,但是Spring官方建议使用Java8。
Servlet 容器 (表格大家肯定知道什么意思,不知道的说明你学习之路太顺了:版本依赖)
Name | Servlet Version | Java Version |
---|---|---|
Tomcat 8 | 3.1 | Java 7+ |
Tomcat 7 | 3.0 | Java 6+ |
Jetty 9 | 3.1 | Java 7+ |
Jetty 8 | 3.0 | Java 6+ |
Undertow 1.1 | 3.1 | Java 7+ |
4.pringBoot支持哪些应用
使用SpringBoot可以快速创建普通Java项目和Web项目,以及其他项目。
Spring Boot application starters (原内容是英文,我给翻译过来了:百度翻译外加自己)
Name | Description |
---|---|
spring-boot-starter | spring boot的核心,自动配置支持,日志个yaml |
spring-boot-starter-actuator | 帮助您监视和管理应用程序 |
spring-boot-starter-amqp | 通过Spring Rabbit支持“高级消息队列协议”。 |
spring-boot-starter-aop | 支持面向方面的编程,包括SpringAOP和AspectJ。 |
spring-boot-starter-artemis | 通过Apache ARTEMIS支持“Java消息服务API”。 |
spring-boot-starter-batch | 支持“Spring批量”,包括hsqldb数据库。 |
spring-boot-starter-cache | 支持Spring的缓存 |
spring-boot-starter-cloud-connectors | 支持“SpringCloudConnectors”,它简化了与云平台(如CloudFoundry和Heroku)中的服务的连接。 |
spring-boot-starter-data-elasticsearch | 支持ElasticSearch搜索和分析引擎,包括Spring数据ElasticSearch。 |
spring-boot-starter-data-gemfire | 支持GemFire分布式数据存储,包括Spring数据GemFire。 |
spring-boot-starter-data-jpa | 支持“Java持久化API”,包括Spring数据源、Spring ORM和Hibernate。 |
spring-boot-starter-data-mongodb | 支持mongodb nosql数据库,包括spring data mongodb。 |
spring-boot-starter-data-redis | 支持redis key-value数据存储,包括jump-data-redis。 |
spring-boot-starter-data-rest | 支持通过SpringDataRestWebMVC在REST上公开Spring数据存储库。 |
spring-boot-starter-data-solr | 支持apache solr搜索平台,包括spring-data-solr。 |
spring-boot-starter-freemarker | 支持FreeMarker模板引擎。 |
spring-boot-starter-groovy-templates | 支持groovy模板引擎。 |
spring-boot-starter-hateoas | 通过Spring Hateoas支持基于Hateoas的RESTful服务。 |
spring-boot-starter-hornetq | 通过HornetQ支持“Java消息服务API”。 |
spring-boot-starter-integration | 支持通用的Spring集成模块。 |
spring-boot-starter-jdbc | 支持JDBC数据库。 |
spring-boot-starter-jersey | 支持Jersey Restful Web服务框架。 |
spring-boot-starter-jta-atomikos | 通过Atomikos支持JTA分布式事务。 |
spring-boot-starter-jta-bitronix | 通过Bitronix支持JTA分布式事务。 |
spring-boot-starter-mail | 支持javax.mail。 |
spring-boot-starter-mobile | 支持Spring Mobile,Spring Mobile是Spring MVC的扩展 |
spring-boot-starter-mustache | 支持Mustache模板引擎。 |
spring-boot-starter-security | 支持 spring-security. |
spring-boot-starter-social-facebook | 支持spring-social-facebook. |
spring-boot-starter-social-linkedin | 支持spring-social-linkedin. |
spring-boot-starter-social-twitter | 支持spring-social-twitter. |
spring-boot-starter-test | 支持常见的测试依赖项,包括JUnit、Hamcrest和Mockito以及Spring测试模块。 |
spring-boot-starter-thymeleaf | 支持thymeleaf模板引擎,包括与Spring的集成。 |
spring-boot-starter-velocity | 支持velocity 模板引擎。 |
spring-boot-starter-web | 支持全栈Web开发,包括Tomcat和SpringWebMVC。 |
spring-boot-starter-websocket | 支持WebSocket开发。 |
spring-boot-starter-ws | 支持SpringWeb服务。 |