博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot参考教程(二)SpringBoot特性
阅读量:5332 次
发布时间:2019-06-14

本文共 1641 字,大约阅读时间需要 5 分钟。

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

      

 

<推荐书籍>

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

 

 

转载于:https://www.cnblogs.com/dingchunyu/p/7653008.html

你可能感兴趣的文章
读书笔记:季羡林关于如何做研究学问的心得
查看>>
面向对象的优点
查看>>
套接口和I/O通信
查看>>
阿里巴巴面试之利用两个int值实现读写锁
查看>>
浅谈性能测试
查看>>
Winform 菜单和工具栏控件
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
深入理解jQuery框架-框架结构
查看>>
YUI3自动加载树实现
查看>>
python知识思维导图
查看>>
当心JavaScript奇葩的逗号表达式
查看>>
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>