SpringBoot介绍

1、 springboot介绍

由于J2EE开发时繁琐的配置、低的开发效率及复杂的部署流程,而且第三方集成难度大。springboot规避了以上缺点,简化开发,不需要太关注框架的配置。
J2EE笨重的开发、繁琐的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大。
SpringBoot的出现就是为了简化开发、去繁从简。是整合Spring技术栈的一站式框架,其作为spring的子项目有很多优点:
1)创建独立Spring应用
2)内嵌Tomcat、Jetty(无需部署war包)
3)自动starter依赖,简化构建配置
4)自动配置Spring以及第三方功能
5)没有代码生成、无需编写XML配置,约定大于配置,实现开箱即用。
6)提供生产级别的监控、运行状况检查及及外部优化配置
缺点:
1)迭代较快。
2)封装太深,内部原理复杂,不容易精通.

2、springboot 的starter 的启动原理

starter是一种服务,是springBoot重要的组成部分,在创建SpringBoot应用用于web开发时,选择的是spring-boot-starter-web。使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息,由SpringBoot会自动通过classpath路径下的类发现并加载需要的Bean。
通过starter,我们能够快速的引入一个功能,而无需额外的配置。同时starter还会提供给我们预留的自定配置选项,使用者只需要在application.properties中设置相关参数,就可以实现配置的个性化。个人理解认为springBoot Starter就是一个智能化的配置类@Configuration。

原理

在这里插入图片描述
引入maven依赖及配置文件:
1) SpringBoot 在启动时会去依赖的starter包中寻找 resources/META-INF/spring.factories 文件,然后根据spring.factories文件中的配置Jar包去扫描项目所依赖的Jar包,找到需要自动配置的类。
2)根据 spring.factories配置加载AutoConfigure类。
3)根据 @Conditional注解的条件,进行自动配置并将Bean注入Spring Context 上下文当中。
配置类上面包括以下注解:
@Configuration 表明是一个配置文件,被注解的类将成为一个bean配置类。
@ConditionalOnClass 当classpath下发现该类的情况下进行自动配置。
@ConditionalOnBean 当classpath下发现该类的情况下进行自动配置。
@EnableConfigurationProperties 使@ConfigurationProperties注解生效。
@AutoConfigureAfter 完成自动配置后实例化这个bean。

3、springboot的核心注解及作用

SpringBoot主要有三个核心注解:
SpringBootConfiguration、EnableAutoConfiguration、ComponentScan,依赖这几个注解可以完成自动装配的功能,将项目中需要的Bean注入到Spring容器里面。
SpringBoot程序在启动过程中会解析以下三个注解:
1)SpringBootConfiguration:包含了Configuration注解,实现配置文件,相当于spring中的XML配置文件的applicationContext.xml。
2)ComponentScan:指定扫描范围, 可自动发现和装配Bean,默认扫描SpringBootApplication注解类所在的包路径下文件,所以最好将该启动类放到根包路径下。
3)EnableAutoConfiguration:SpringBoot根据应用所声明的依赖来对Spring框架进行自动配置功能。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值