【Java EE】Springboot

在这里插入图片描述

Springboot 核心功能

1、 可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。

2、 内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。

3、 简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。

4、 自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。

5、 提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。

6、 无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。

我们的主要目标是:

为所有Spring开发提供一个更快,更广泛的入门体验。
立即开始斟酌,但随着需求开始偏离默认值,快速避开
提供大型项目(如嵌入式服务器,安全性,指标,运行状况检查和外部配置)通用的一系列非功能性功能。
绝对不会生成代码,并且不需要XML配置。

SpringBoot的相关好处

A.为什么要用SpringBoot?

B.什么是SpringBoot?

C.SpringBoot与SpringCloud 的区别?

D.SpringBoot与SpringMVC 的区别?

(一)为什么要用SpringBoot?
以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生了,SpringBoot也就是用来做这个的。

(二)什么是SpringBoot?
SpringBoot是一个快速开发的框架,能过快速整合第三方框架,他是如何快速整合的呢?其实他是的基本原来是Maven依赖关系,Maven的集成,完全采用注解化,简化XML配置,内嵌HTTP服务器(Tomcate,jetty),默认嵌入Tomcate,最终以Java应用程序进行执行。

总结一下:

1.SpringBoot是微服务框架(并不合理,后面我们总结也SpringCloud的时候在细说)

2.SpringBoot核心:快速整合第三方框架

3.SpringBoot原理:Maven依赖关系,Maven的继承,完全采用注解化,Spring3.0以后采用注解方式启动SpringMVC

(三)SpringBoot与SpringCloud 的区别?
1.SpringBoot快速开发框架,快速整合第三方框架(Maven依赖关系###Maven继承),完全采用注解化,简化XML配置,最终以java应用程序进行执行。

2.SpringCloud一套目前完整的微服务解决框架,功能非常强大,注册中心,客户端调用工具,服务治理(负载均衡,断路器,分布式配置中心,网管,消息总线等)。

3.关系:微服务通讯技术Http+json(restfull)轻量级,SpringBoot Web组件默认集成SpringMVC,SpringCloud依赖于SpringBoot实现微服务,使用SpringMVC编写微服务接口。

SpringCloud 微服务开发——RPC远程通讯技术,服务治理,单纯的只是集成SpringBoot实现快速开发。

(四)SpringBoot与SpringMVC 的区别?
说白了就是SpringBoot Web组件默认集成SpringMVC框架,SpringMVC3.0以后支持注解方式使用java代码启动SpringMVC。

1.启动流程

主要步骤首先要配置environment,然后准备context上下文,包括执行applicationContext的后置处理、初始化initializer、通知listener处理contextPrepared和contextLoaded事件。最后执行refreshContext,也就是前面介绍过的AbstractApplicationContext类的refresh方法。

  • 首先从main找到run ()方法,在执行run ()方法之前new一个 SpringApplication 对象
  • 进入run ()方法,创建应用监听器 SpringApplicationRunListeners 开始监听
  • 然后加载SpringBoot配置环境 ( ConfigurableEnvironment ),然后把配置环境 (Environment)加入监听对象
  • 然后加载应用上下文 ( ConfigurableApplicationContext ),当做run方法的返回对象
  • 最后创建Spring容器refreshContext (context) ,实现starter自动化配置和bean的实例化等工作。

2.配置文件

然后要知道在Spring Boot中有两种上下文,一种是bootstrap, 另外一种是application。

bootstrap是应用程序的父上下文,也就是说bootstrap会先于applicaton加载。bootstrap主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。bootstrap里面的属性会优先加载,默认也不能被本地相同配置覆盖。

3.注解

@SpringBootApplication包含了@ComponentScan、@EnableAutoConfiguration、@SpringBootConfiguration三个注解

而@SpringBootConfiguration注解包含了@Configuration注解。也就是springboot的自动配置功能。

@Conditional注解就是控制自动配置的生效条件的注解,例如bean或class存在、不存在时进行配置,当满足条件时进行配置等等。

4.特色模块

starter是springboot提供的无缝集成功能的一种方式,使用某个功能时开发者不需要关注各种依赖库的处理,不需要具体的配置信息由Spring Boot自动配置进行bean的创建。例如需要使用web功能时,只需要在依赖中引入spring-boot-starter-web即可。
actuator是用来对应用程序进行监视和管理,通过restful api请求来监管、审计、收集应用的运行情况。
devtools提供了一系列开发工具的支持,来提高开发效率。例如热部署能力等。
CLI就是命令行接口,是一个命令行工具,支持使用Groovy脚本,可以快速搭建spring原型项目。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值