码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot参考教程(二)SpringBoot特性

时间:2017-10-11 22:38:43      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:jetty   water   web应用   详细   resource   start   log   .com   相关配置   

2. Spring Boot特性

1.  Starter pom(起步依赖)

Spring提供了一系列的starterpom来简化Maven的依赖加载,具体可参考官方文档13.5 Starters章节。

什么是Starterpom,以上文中HelloWorld工程为示例:

在工程的pom中只有三个依赖:

 

技术分享

 

其中:spring-boot-starter-web为Spring web项目所需依赖,使用了此依赖后会自动加入以下依赖:

 

技术分享

 

由上图中依赖树可以看出,只需加入一个web starter pom就会自动引入一般Spring web工程中需要的相关依赖。简单方便。Spring提供多种starter pom供选择。

简单来说,starter pom是组合在一起实现某个功能的一组依赖的集合。好处不言而喻!

2.  独立运行,内嵌Servlet容器

       SpringBoot的一个很大的特性是可以独立运行,既可以直接以Java-jar的方式运行,不需要依赖Servlet容器。因为其提供内嵌的Servlet容器。

 

      上1中三个依赖中有一个为spring-boot-starter-tomcat此依赖为工程提供内嵌的Servlet容器tomcat,此外还可以使用Jetty, Undertow等作为内嵌容器。

 

      上文中Hello World工程在创建选项中选择的打包方式为War,因此spring-boot-starter-tomcat依赖的Scope属性为provide。开发人员本地启动依然是使用的内嵌容器。

 

测试以jar方式启动:

1.     修改打包方式为jar,删除spring-boot-starter-tomcat的scope属性。

 

技术分享

 

2.     打包(将工程环境改为JDK)

 

技术分享

 

3. 启动jar包

 

技术分享

 

启动成功

4.  测试访问

 

技术分享

测试成功!

 

3. 自动装配

 

由上Hello world中可以看出,并没有进行任何的手工配置来初始化相关的Bean如:jacksonObjectMapper,dispatcherServlet,beanNameViewResolver,resourceHandlerMapping等等。

工程中所有一般web应用中需要用到的Bean均由Spring Boot来自动初始化。

查看(查看方法后面章节详细描述)所有初始化的Bean:

 

技术分享

 

注:Spring Boot会根据工程类路径中的jar包,类,配置文件中的相关配置等条件,来自动配置Bean,比如:若类路径中有mybatis和Oracle的驱动包,SpringBoot会自动配置mybatis的数据源工厂等Bean。Spring Boot的自动装配主要通过条件化配置和注解来实现,这是SpringBoot的神奇之处。

简单来说,你需要什么功能,加入相关的依赖,只要你的依赖jar包满足条件,SpringBoot就会自动为你初始化配置相关Bean。

如果还没有明白什么是自动装配的话,可参考相关文档,随着对Spring Boot了解的逐渐深入,你将会有深刻的体验!

 

4. 提供应用内部监控(Actuator)

 

Spring工程中我们无法监控到应用的内部运行情况,如Bean的生命周期,应用的健康情况等。

为解决这个问题,Spring Boot提供了执行器Actuator,来对应用内部进行监控。

具体下一章节将详细讲述。

 

<实例代码>

Github:https://github.com/chunyuding/SpringBoot-Demo

https://github.com/chunyuding/SpringBoot-Demo.git

码云:https://gitee.com/dingchunyu/SpringBoot-Demo

      https://gitee.com/dingchunyu/SpringBoot-Demo.git

 

<推荐书籍>

 百度云:http://pan.baidu.com/s/1qYA0Nxi

 

 

Spring Boot参考教程(二)SpringBoot特性

标签:jetty   water   web应用   详细   resource   start   log   .com   相关配置   

原文地址:http://www.cnblogs.com/dingchunyu/p/7653008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!