Springboot 详解(一)
一、Springboot是什么?
百度百科上对SpringBoot的解释就是:SpringBoot是一个全新的框架,它的设计目的是用来简化Spring应用的初始搭建以及开发过程。那么,SpringBoot框架到底是什么,是Spring框架的扩展吗?SpringBoot和SpringMVC又有什么关系?SpringBoot和tomcat又是什么关系?
第一个问题:SpringBoot框架不是Spring框架的扩展,因为SpringBoot没有在Spring框架上拓展新的功能,SpringBoot只是利用了它了Spring4.0版本新引入的“条件配置”这一个新属性来实现了自动配置这么一个功能,这个功能替你完成了你之前配置web.xml,applicationcontext.xml等xml文件的工作,让你从大量的xml配置工作中脱离出来。(自动配置是SpringBoot的一个特性,SpringBoot还有一个很重要的特性是“起始依赖”,即starter)
第二个问题:SpringBoot和SpringMVC是什么关系呢?要了解这个问题之前,先要明白SpringMVC和Spring框架是什么关系?SpringMVC是Spring框架的一个模块,我们可以自由选择是否使用这个模块。那么,既然SpringBoot可以帮助Spring框架实现自动配置,而SpringMVC是Spring框架的一个模块,那么SpringBoot也可以帮助SpringMVC实现自动配置。只要在新建SpringBoot项目时勾选了spring-boot-starter-web起始依赖,SpringBoot就会添加tomcat和SpingMVC的相关依赖。
第三个问题:SpringBoot和tomcat是什么关系?SpringBoot内嵌了tomcat容器。
二、SpringBoot的四个核心(来自《SpringBoot实战》)
1.自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。
2.起步依赖:起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
3.命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序, 无需传统项目构建。
4.Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。
在这里我们只提及最核心的 自动配置和起步依赖。
1.自动配置:
Spring Boot会为常见配置场景进行自动配置。如果Spring Boot在应用程序的Classpath里 发现H2数据库的库,那么它就自动配置一个嵌入式H2数据库。如果在Classpath里发现 JdbcTemplate,那么它还会为你配置一个JdbcTemplate的Bean。你无需操心那些Bean的配置, Spring Boot会做好准备,随时都能将其注入到你的Bean里。
2.起步依赖:
向项目中添加依赖是件富有挑战的事。你需要什么库?它的Group和Artifact是什么?你需要 哪个版本?哪个版本不会和项目中的其他依赖发生冲突? Spring Boot通过起步依赖为项目的依赖管理提供帮助。起步依赖其实就是特殊的Maven依 赖和Gradle依赖,利用了传递依赖解析,把常用库聚合在一起,组成了几个为特定功能而定制 的依赖。 如果打算利用Spring Boot的起步依赖,你只需添加Spring Boot的Web起步依赖 (org.springframework.boot:spring-boot-starter-web)①,仅此一个。它会根据依赖 传递把其他所需依赖引入项目里,你都不用考虑它们。 比起减少依赖数量,起步依赖还引入了一些微妙的变化。向项目中添加了Web起步依赖,实 际上指定了应用程序所需的一类功能。因为应用是个Web应用程序,所以加入了Web起步依赖。 与之类似,如果应用程序要用到JPA持久化,那么就可以加入jpa起步依赖。如果需要安全功能, 那就加入security起步依赖。简而言之,你不再需要考虑支持某种功能要用什么库了,引入相关起 步依赖就行。 此外,Spring Boot的起步依赖还把你从“需要这些库的哪些版本”这个问题里解放了出来。 起步依赖引入的库的版本都是经过测试的,因此你可以完全放心,它们之间不会出现不兼容的情况。

浙公网安备 33010602011771号