1、什么是SpringBoot
(1)总体来说:SpringBoot是一款大型的框架,里面可以包含很多组件。是Spring框架的升级。可以说是一次颠覆性的革命。
(2)从开发编发角度来说:SpringBoot基本上告别Spring框架里面的大量的XML文件的配置,而采用大量的默认配置类来简化我们的开发,并且在开发的时候采用注解的方式非常方便。
(3)从运维部署的角度来说:SpringBoot内置TomCat,能够直接使用main方法启动内嵌的服务器运行springboot的程序,不需要部署war包文件。提供约定的start pom来简化maven配置,让maven的配置变得简单。
2、SpringBoot的核心注解以及主动装配的过程
@SpringBootApplication 此注解所在的位置标明是主类。(点下去)
@SpringBootConfiguration 此注解所在位置是一个配置类。
@EnableAutoConfiguration 此注解所在位置这个类支持自动配置。核心注解(*****)
@ComponentScan 此注解会扫描所有的组件,称为组件扫描器。
自动配置包所在位置如图所示:
点开spring.factories会出现大量的自动配置类,如下图所示:
这些类都是以AutoConfiguration为后缀的特征,说明这些都是自动配置类。随便点进去之后,这些类都有一些注解,如下:
@Configuration 此注解所在的类是一个配置类 通常和@Bean一起使用,
@Bean 当我们想要的组件不存在的时候,我们就是需要通过方法构建一个主键。返回值是我们需要的组件类型,方法名使我们的对象名。
@ConditionalOnWebApplication 此注解是一个条件注解
@ConditionalOnClass({MessageDispatcherServlet.class}) 此注解是一个条件注解,当这个类存在这个配置类生效
@ConditionalOnMissingBean({WsConfigurationSupport.class})此注解是一个条件注解。当这个类不存在这个配置类生效
@EnableConfigurationProperties({WebServicesProperties.class})这是一个重要注解,会自动去读取xxxProperties这个属性类中的数据,并且装配到此自动配置类中。
点开这个属性类。属性类都是以Properties为后缀。CTRL+鼠标左键进入这个类。如下图:
@ConfigurationProperties(
prefix = "spring.webservices"
)此注解就是获取yml或者properties文件的配置信息。当yml或者properties文件中重新配置了信息,就会把这个属性类默认的属性值覆盖。
3、(未完)