初探 Spring Boot

匿名 (未验证) 提交于 2019-12-03 00:34:01

  近些年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. 。


  1. 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。


  2. 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol. 。


  3. 支持面向方面的编程即AOP,包括spring-aop和AspectJ。


  4. 通过Apache Artemis支持JMS的API(Java Message Service API. 。


  5. 支持Spring Batch,包括HSQLDB数据库。


  6. 支持Spring的Cache抽象。


  7. 支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。


  8. 支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。


  9. 支持GemFire分布式数据存储,包括spring-data-gemfire。


  10. 支持JPA(Java Persistence API. ,包括spring-data-jpa、spring-orm、Hibernate。


  11. 支持MongoDB数据,包括spring-data-mongodb。


  12. 通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。


  13. 支持Apache Solr搜索平台,包括spring-data-solr。


  14. 支持FreeMarker模板引擎。


  15. 支持Groovy模板引擎。


  16. 通过spring-hateoas支持基于HATEOAS的RESTful Web服务。


  17. 通过HornetQ支持JMS。


  18. 支持通用的spring-integration模块。


  19. 支持JDBC数据库。


  20. 支持Jersey RESTful Web服务框架。


  21. 通过Atomikos支持JTA分布式事务处理。


  22. 通过Bitronix支持JTA分布式事务处理。


  23. 支持javax.mail模块。


  24. 支持spring-mobile。


  25. 支持Mustache模板引擎。


  26. 支持Redis键值存储数据库,包括spring-redis。


  27. 支持spring-security。


  28. 支持spring-social-facebook


  29. 支持pring-social-linkedin


  30. 支持pring-social-twitter


  31. 支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。


  32. 支持Thymeleaf模板引擎,包括与Spring的集成。


  33. 支持Velocity模板引擎。


  34. S支持全栈式Web开发,包括Tomcat和spring-webmvc。


  35. 支持WebSocket开发。



  36. Spring Boot应用启动器面向生产环境的还有2种,具体如下:


  37. 增加了面向产品上线相关的功能,比如测量和监控。



  38. 最后,Spring Boot应用启动器还有一些替换技术的启动器,具体如下:


  39. 引入了Jetty HTTP引擎(用于替换Tomcat. 。


  40. 支持Log4J日志框架。


  41. 引入了Spring Boot默认的日志框架Logback。


  42. 引入了Spring Boot默认的HTTP引擎Tomcat。


  43. 引入了Undertow HTTP引擎(用于替换Tomcat. 。

原文:https://www.cnblogs.com/wuyx/p/9221402.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!