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

来源:互联网 发布:数据的有效性 编辑:程序博客网 时间:2024/05/19 22:51

2. Spring Boot特性

1.  Starter pom(起步依赖)

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

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

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



其中:spring-boot-starter-webSpring 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-tomcatscope属性。



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



3. 启动jar



启动成功

4.  测试访问


测试成功!


3. 自动装配


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

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

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



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

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

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


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


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

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

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

<实例代码>

Githubhttps://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



原创粉丝点击