SpringBoot

在这里插入图片描述

初识SpringBoot

一、SpringBoot是什么?

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

二、SpringBoot有哪些优点?

优点

1、快速构建项目,减少开发,测试时间。
2、使用 JavaConfig 有助于避免使用 XML。
3、避免大量的 Maven 导入和各种版本冲突。
4、项目可独立运行,无须外部依赖Servlet容器。
5、通过提供默认值快速开始开发。
6、没有单独的 Web 服务器需要。这意味着你不再需要启动 Tomcat,Glassfish或其他任何东西。
7、需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired 添加到 bean 方法中,以使 Spring 自动装入需要的依赖关系中。

三、Spring Boot自动配置的原理是什么?

主要是Spring Boot的启动类上的核心注解SpringBootApplication注解主配置类,有了这个主配置类启动时就会为SpringBoot开启一个@EnableAutoConfiguration注解自动配置功能。
有了这个EnableAutoConfiguration的话就会:

1,从配置文件METAINF/Spring.factories加载可能用到的自动配置类
2、去重,并将exclude和excludeName属性携带的类排除
3、过滤,将满足条件(@Conditional)的自动配置类返回

四、Spring Boot配置的加载顺序

1.先去项目根目录找config文件夹下找配置文件件
2.再去根目录下找配置文件
3.去resources下找cofnig文件夹下找配置文件
4.去resources下找配置文件

五、YAML配置比起Properties配置的优势在哪里?

首先springboot支持两种格式的配置文件 application.properties 和 application.yml

application.properties (springboot默认的配置文件)
application.yml

优势:application.yml 是一种YAML格式的文件,yaml是一种简洁的非标记语言,yaml数据为中心,使用空格、缩进、分行来组织数据,使得内容更加简洁易读,并且有利于运维人员后期的维护,有点类似于json格式,而且支持数组,数组中的元素可以是基本数据类型也可以是对象。

六、Spring Boot的核心注解有哪些?

1.@SpringBootApplication
用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。
2.@EnableAutoConfiguration
允许 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Bean。
3.@SpringBootConfiguration
这个注解就是 @Configuration 注解的变体,只是用来修饰是 Spring Boot 配置而已,或者可利于 Spring Boot 后续的扩展。
4.@Configuration
这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。
5.@ComponentScan
这是 Spring 3.1 添加的一个注解,用来代替配置文件中的 component-scan 配置,开启组件扫描,即自动扫描包路径下的 @Component 注解进行注册 bean 实例到 context 中。
6.@Conditional
这是 Spring 4.0 添加的新注解,用来标识一个 Spring Bean 或者 Configuration 配置文件,当满足指定的条件才开启配置。
7.@ConditionalOnBean
组合 @Conditional 注解,当容器中有指定的 Bean 才开启配置。
8.@ConditionalOnMissingBean
组合 @Conditional 注解,和 @ConditionalOnBean 注解相反,当容器中没有指定的 Bean 才开启配置。
9.@ConditionalOnClass
组合 @Conditional 注解,当容器中有指定的 Class 才开启配置。
10.@ConditionalOnMissingClass
组合 @Conditional 注解,和 @ConditionalOnMissingClass 注解相反,当容器中没有指定的 Class 才开启配置。
11.@ConditionalOnWebApplication
组合 @Conditional 注解,当前项目类型是 WEB 项目才开启配置。
12.@ConfigurationProperties
用来加载额外的配置(如 .properties 文件),可用在 @Configuration 注解类,或者 @Bean 注解方法上面。

七、Spring 和 Spring Boot 有什么不同?

Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值