近些年Spring Boot都特别火,一直都想来学习学习,奈何近期公司项目繁忙,一直都没有时间来学习,今天终于是休息一天,于是来一睹 SpringBoot 的风采。
一、什么是Spring Boot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要样板化的配置。通过这种方式,Spring Boot致力与在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。(摘自搜狗百科)
二、Spring Boot 的特点
1. Spring Boot 可以创建键独立的Spring应用程序,为基于 Spring 的开发提供了更快的如门体验。它并不是对 Spring 功能的增强,而是提供了一种快速使用Spring的方式。
2. Spring Boot 它内嵌Tomcat,不需要部署 war 文件。
3. Spring Boot 简化了Maven 配置,配置 spring-boot-starter-parent 之后,不需要再再其他包后配置所需 jar 包的版本,Spring Boot 会为我们选择最合适的版本。
4. Spring Boot 自动配置Spring。
5. Spring Boot 提供了一些大型项目中常见的非功能特性,如:生产就绪型功能,如指标,健康检查和外部配置等。
6. Spring Boot 开箱即用,没有代码生成,也不需要 XML 配置。同时也可以修改默认值来满足特定需求。
开发环境:我这里使用的是 eclipse ,JDK使用的是1.8 , 项目管理工具使用的是Maven。
1. 创建一个 Maven 项目
1 <!-- spring boot 父节点依赖,引入这个包之后相关引入 2 就不需要添加version配置,spring boot会选择最合适的版本进行添加 --> 3 <parent> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring-boot-starter-parent</artifactId> 6 <version>1.4.0.RELEASE</version> 7 </parent>
3. 指定 JDK ,如果不指定,则默认为1.6
1 <properties> 2 <!-- 指定JDK 1.8, 不设置默认1.6 --> 3 <java.version>1.8</java.version> 4 </properties>
1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-web</artifactId> 4 </dependency>
5. 创建 Controller ,这里@RestController 相当于spring的 @Controller 和 @requestBody
/** * 这里的 @RestController 相当于spring的 @Controller 和 @requestBody * @author Wuyouxin * */ @RestController public class HelloController { @RequestMapping("/hello") public String hello () { return "hello Spring Boot"; } }
6. 创建启动类 APP.main() 方法, 这里的SpringBootApplication 就是在指定一个Spring Boot 的应用。
1 /** 2 * 这里的SpringBootApplication 就是在指定一个Spring Boot 的应用 3 * 4 * @author Wuyouxin 5 * 6 */ 7 @SpringBootApplication 8 public class App { 9 10 public static void main( String[] args ) { 11 12 //在Main方法中启动应用程序 13 SpringApplication.run(App.class, args); 14 } 15 }
SpringBoot项目通过SpringApplication.run(App.class, args)来启动,下面这位老铁在它的文中详细解读了 run 方法的源码,有兴趣的朋友可以去看一下:https://www.jb51.net/article/120362.htm

在启动的日志中有Tomcat的端口。
8. 使用 127.0.0.1:8080/hello 进行验证

访问成功。
这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。
通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol. 。
支持面向方面的编程即AOP,包括spring-aop和AspectJ。
通过Apache Artemis支持JMS的API(Java Message Service API. 。
支持Spring Batch,包括HSQLDB数据库。
支持Spring的Cache抽象。
支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。
支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。
支持GemFire分布式数据存储,包括spring-data-gemfire。
支持JPA(Java Persistence API. ,包括spring-data-jpa、spring-orm、Hibernate。
支持MongoDB数据,包括spring-data-mongodb。
通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。
支持Apache Solr搜索平台,包括spring-data-solr。
支持FreeMarker模板引擎。
支持Groovy模板引擎。
通过spring-hateoas支持基于HATEOAS的RESTful Web服务。
通过HornetQ支持JMS。
支持通用的spring-integration模块。
支持JDBC数据库。
支持Jersey RESTful Web服务框架。
通过Atomikos支持JTA分布式事务处理。
通过Bitronix支持JTA分布式事务处理。
支持javax.mail模块。
支持spring-mobile。
支持Mustache模板引擎。
支持Redis键值存储数据库,包括spring-redis。
支持spring-security。
支持spring-social-facebook
支持pring-social-linkedin
支持pring-social-twitter
支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。
支持Thymeleaf模板引擎,包括与Spring的集成。
支持Velocity模板引擎。
S支持全栈式Web开发,包括Tomcat和spring-webmvc。
支持WebSocket开发。
Spring Boot应用启动器面向生产环境的还有2种,具体如下:
增加了面向产品上线相关的功能,比如测量和监控。
Spring Boot应用启动器还有一些替换技术的启动器,具体如下:
引入了Jetty HTTP引擎(用于替换Tomcat. 。
支持Log4J日志框架。
引入了Spring Boot默认的日志框架Logback。
引入了Spring Boot默认的HTTP引擎Tomcat。
引入了Undertow HTTP引擎(用于替换Tomcat. 。
-
这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 -
通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol. 。 -
支持面向方面的编程即AOP,包括spring-aop和AspectJ。 -
通过Apache Artemis支持JMS的API(Java Message Service API. 。 -
支持Spring Batch,包括HSQLDB数据库。 -
支持Spring的Cache抽象。 -
支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。 -
支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。 -
支持GemFire分布式数据存储,包括spring-data-gemfire。 -
支持JPA(Java Persistence API. ,包括spring-data-jpa、spring-orm、Hibernate。 -
支持MongoDB数据,包括spring-data-mongodb。 -
通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。 -
支持Apache Solr搜索平台,包括spring-data-solr。 -
支持FreeMarker模板引擎。 -
支持Groovy模板引擎。 -
通过spring-hateoas支持基于HATEOAS的RESTful Web服务。 -
通过HornetQ支持JMS。 -
支持通用的spring-integration模块。 -
支持JDBC数据库。 -
支持Jersey RESTful Web服务框架。 -
通过Atomikos支持JTA分布式事务处理。 -
通过Bitronix支持JTA分布式事务处理。 -
支持javax.mail模块。 -
支持spring-mobile。 -
支持Mustache模板引擎。 -
支持Redis键值存储数据库,包括spring-redis。 -
支持spring-security。 -
支持spring-social-facebook -
支持pring-social-linkedin -
支持pring-social-twitter -
支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。 -
支持Thymeleaf模板引擎,包括与Spring的集成。 -
支持Velocity模板引擎。 -
S支持全栈式Web开发,包括Tomcat和spring-webmvc。 -
支持WebSocket开发。 -
Spring Boot应用启动器面向生产环境的还有2种,具体如下: -
增加了面向产品上线相关的功能,比如测量和监控。 -
最后,Spring Boot应用启动器还有一些替换技术的启动器,具体如下: -
引入了Jetty HTTP引擎(用于替换Tomcat. 。 -
支持Log4J日志框架。 -
引入了Spring Boot默认的日志框架Logback。 -
引入了Spring Boot默认的HTTP引擎Tomcat。 -
引入了Undertow HTTP引擎(用于替换Tomcat. 。
原文:https://www.cnblogs.com/wuyx/p/9221402.html