什么是 Spring Boot?
Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
Spring Boot特点有什么?
独立运行 简化配置 自动配置 无代码生成和XML配置 应用监控 上手容易
springBoot中有哪些重要的注解呢?
@Configuration
在spring3.0添加的注解,用来替代applicationContext.xml配置
@Bean
用来代替XML配置文件的<bean>配置
@ImportResource
这个注解可以额外的引入XML配置,有些老的文件无法通过@Configuration方式配置可以用这个注解
@SpringBootConfiguration
只是用来修饰springboot配置
@ComponentScan
用来替代配置文件中的Component-scan配置,即自动扫描包路径下的@ComponentScan注解进行注册bean势利导context中
@EnableAutoConfiguration
是自 Spring Boot 诞生时添加的注解,用来提供自动配置
@SpringBootApplication
这个注解是个组合注解我们看看源码
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@SpringBootConfiguration springboot项目相关配置注解, @EnableAutoConfiguration 启动自动配置,这个注解会使springboot根据项目中以来的jar包自动配置项目的配置项
简单的说一下springboot:
springBoot核心配置文件:
application:主要用于springboot项目的自动化配置。
bootstrop:使用springcloud配置中心时;一些固定不能被覆盖的属性;一些加密/解密的场景
springBoot的配置文件有两种格式:.properties和.yml;但是yml文件不支持@propertySource注解导入配置
springboot核心注解:@springbootconfiguration、@EnableAutoConfiguration、@ComponentScan
开起springBoot特性的方式:集成spring-boot-starter-parent项目、导入spring-boot-dependencies项目依赖。
不需要独立容器运行
运行springboot的三种方式:打包用命令或者放到容器中、main方法、maven命令启动
springboot自动配置原理: @Configuration,@ConditionalOnClass 是自动配置的核心
springboot中的straters:可以理解为启动器,包含了一系列可以集成到应用里的依赖包。
在springboot启动的时候运行一些特点的代码可以实现applicationRunner或者CommandLineRunner
public interface CommandLineRunner {
/**
* Callback used to run the bean.
* @param args incoming main method arguments
* @throws Exception on error
*/
void run(String... args) throws Exception;
}
----------------------------------------------------------------------------
public interface ApplicationRunner {
/**
* Callback used to run the bean.
* @param args incoming application arguments
* @throws Exception on error
*/
void run(ApplicationArguments args) throws Exception;
}
springboot热部署方式:spring loaded、 Spring-boot-devtools