SpringBoot专题

谈一下你对SpringBoot的看法

SpringBoot是伴随Spring4.0应用而生,其设计目的是特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 可以自动配置 Spring 的各种组件,并不依赖代码生成和 XM L 配置文件。spring boot 是微服务框架的起点,他简化了配置过程、部署过程、监控过程。它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了很多的框架,同时将其他技术同spring结合起来。平时如果我们需要搭建一个springweb项目的时候需要怎么做呢?

1 )配置web.xml,加载spring和springmvc

2 )配置数据库连接、配置spring事务。

3) 配置加载配置文件的读取,开启注解。

4) 配置日志文件。

5) 配置完成之后部署tomcat调试等等。

如果我们使用SpringBoot,提供固定的启动器依赖去简化组件配置;实现开箱即用

SpringBoot的不足

Spring Boot作为一个微框架,离微服务的实现还是有距离的。

没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也需要与现有的监控对接。没有配套的安全管控方案,对于REST的落地,还需要自行结合实际进行URI的规范化工作。

SpringBoot的启动流程1

启动类执行run方法->启动ApplicationContext(简称ac)->ac初始化中,会处理@EnableAutoConfiguration->加载META-INF下的spring.factories->获取所有的自动配置类->自动配置类上面都加上了@Configuration注解和@CondtionOnClass注解,还指定了属性配置类->加入相关启动器依赖,最后自动配置类生效。

SpringBoot都有什么配置文件

Spring Boot 使用一个全局的配置文件,配置文件名是固定的

application.properties

application.yml

SpringBoot重要的注解

@SpringBootApplication默认扫描启动类所在包以及子包

@SpringBootConfiguration:其实就是对原 @Configuration 注解的简单封装。

@ComponentScan:用来开启组件扫描,可以自动扫描指定包路径下的@Component 注解类并将bean实例注册到context中。

@EnableAutoConfiguration:用来提供自动装配,是这三个注解中最重要的一个注解。它是SpringBoot新添加的注解,提供了强大的自动依赖功能,是 Spring Boot这么方便的大功臣。

SpringBoot四大核心组件

Auto-configuration:针对Spring应用程序和常见的应用功能,Springboot能自动提供相关配置,从而实现简化配置甚至零配置

Starter:简化jar包的引用,解决jar版本冲突问题

Cli:springBoot可选特性,主要针对Groovy语言使用

Actuator:是Spring Boot的程序监控器,可监控Spring应用程序上下文中的Bean、查看自动配置决策、Controller映射、线程活动、应用程序健康状况等

SpringBoot的启动流程2

SpringBoot启动流程主要分为三步:

第一部分:SpringApplication初始化模块。通过main方法入口,调用run方法后会创建一个SpringApplication实例,并在SpringApplication构造器中调用initialize方法初始操作。包括创建应用的监听器

(SpringApplicationRun Listeners)、配置是否为web环境、配置资源resource 等其他对象的操作。

第二部分:在完成第一部分各个模块实例的创建后,接着会执行SpringApplication的run方法,该方法主要执行启动应用监听模块、环境配置模块、Banner模块以及应用上下文模块的初始化工作,当初始化工作完成之后Spring Boot启动流程完成。

第三部分:SpringBoot自动化配置模块,这个模块是SpringBoot的准备工作部分(第一部分实例创建)以及初始化配置工作(第二部分初始化)过程都需要使用的模块,该模块的自动配置文件收集器会收集配置文件中的配置工厂 类,在ApplicationContext环境中创建组件所需的bean实例。并存在容器中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值