二spring 和springboot区别

1spring

(1)基础建设

简单来讲,spring为java应用程序提供了全面基础支持

(2)可用框架

提供了一些依赖注入和开箱即用的模块,如下,这些模块减少了开发负担,提高了效率

(3)依赖添加

使用Spring创建一个web application,依赖如下

(4)testing libraries

Spring使用pring Test, JUnit, Hamcrest, and Mockito libraries都需要添加

(5)MVC Configuration

举栗子:jsp 的web应用

Spring需要定义dispatcher servlet, mappings和其他支持配置,一般是在web.xml文件或Initializer文件中配置

在配置文件中添加@EnableWebMvc注解

(6)配置Template Engine

需要thymeleaf-spring5依赖以及配置view resolver


(7)Spring Security配置

Spring需要spring-security-web和spring-security-config依赖

Spring还需要继承WebSecurityConfigurerAdapter类,添加@EnableWebSecurity注解

(8)Application Bootstrap

Spring和SpringBoot中应用程序引导的基本区别在于servlet。Spring使用Web.xmlSpringServletContainerInitiators作为它的引导入口点。

Spring支持Web.xml引导方式以及最新的Servlet 3+方法。

Web.xml分步骤处理:

1Servlet容器(服务器)读取Web.xml

2这个DispatcherServlet中定义的Web.xml由容器实例化。

3DispatcherServlet创造WebApplicationContext通过阅读Web-INF/{servletName}-servlet.xml

4最后,DispatcherServlet注册应用程序上下文中定义的bean。

以下是Spring引导程序如何使用Servlet 3+方法:

1容器搜索实现的类。ServletContainerInitiators并执行

2这个SpringServletContainerInitiators查找实现的所有类WebApplicationInitiator

3这个WebApplicationInitiator使用xml或@配置

4这个WebApplicationInitiator创建DispatcherServlet使用先前创建的上下文。

(9)打包和部署

Spring和SpringBoot两个框架都支持像Maven和Gradle这样的通用包管理技术

Spring Boot Maven插件在Maven中提供SpringBoot支持。它还允许打包可执行的JAR或WAR实现

在部署上下文中,SpringBoot相对于Spring的一些优点包括:

1提供嵌入式容器支持

2使用命令独立运行JAR的规定爪哇-JAR

3选项以排除依赖项,以避免在外部容器中部署时可能发生的JAR冲突。

4选项可以在部署时指定活动配置文件。

5用于集成测试的随机端口生成




2SpringBoot

(1)基础升级

SpringBoot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的样板配置

(2)系统构建

SpringBoot构建了一个更快、更有效地开发生态系统

starter依赖简化了应用构建和配置

嵌入式服务器以避免应用程序部署的复杂性

度量指标、Helth检查和外部化配置

Spring功能的自动配置

(3)依赖

使用Springboot创建web application的依赖如下

其他依赖是在创建时候自动添加的

(4)testing libraries

只需要一个starter 依赖,就把spring里面的testing libraries自动添加了

Spring提供了不同模块的常见starter如下

其他starter自定查看

地址:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter

(5)MVC Configuration

举栗子:jsp 的web应用

Springboot省去了上面spring的配置,我只要添加web starter 和如下配置即可

web starter自动配置了spring 很多配置,如下

地址:https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-auto-configuration

,如下

(6)配置Template Engine

SpringBoot只需要spring-boot-starter-thymeleaf ,就可以让web  application支持Thymeleaf

Thymeleaf3.0,新特性需要添加thymeleaf-layout-dialect 依赖

添加依赖后需要添加templates 到src/main/resources/templates文件下就会自动加载

(7)Spring Security配置

SpringBoot只需要添加spring-boot-starter-security即可(这个依赖中包含spring-security-web和spring-security-config

(8)Application Bootstrap

SpringBoot只使用Servlet 3特性来引导应用程序

SpringBoot应用程序的入口点是用@SpringBootApplication:

默认情况下,SpringBoot使用嵌入式容器运行应用程序。在本例中,SpringBoot使用public static void main启动嵌入式Web服务器的入口点。

此外,它还负责处理Servlet,过滤器,ServletContextInitiator从应用程序上下文到嵌入式servlet容器的bean。

SpringBoot的另一个特性是它会自动扫描主类或主类的子包中的所有类以获取组件。

SpringBoot还提供了将其部署为外部容器中的Web存档的选项。在这种情况下,我们必须扩展SpringBootServletInitiator:

在这里,外部servlet容器查找web存档的meta-INF文件中定义的主类和SpringBootServletInitiator将负责绑定Servlet,过滤器,和ServletContextInitiator。


(9)打包和部署

Spring和SpringBoot两个框架都支持像Maven和Gradle这样的通用包管理技术

Spring Boot Maven插件在Maven中提供SpringBoot支持。它还允许打包可执行的JAR或WAR实现

在部署上下文中,SpringBoot相对于Spring的一些优点包括:

1提供嵌入式容器支持

2使用命令独立运行JAR的规定爪哇-JAR

3选项以排除依赖项,以避免在外部容器中部署时可能发生的JAR冲突。

4选项可以在部署时指定活动配置文件。

5用于集成测试的随机端口生成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,002评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,777评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,341评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,085评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,110评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,868评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,528评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,422评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,938评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,067评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,199评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,877评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,540评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,079评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,192评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,514评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,190评论 2 357