SpringBoot 简介
Spring Boot(英文中是“引导”的意思),是用来简化 Spring 应用的搭建到开发的过程。
应用开箱即用,只要通过 “just run”(可能是 java -jar 或 tomcat 或 maven 插件 run 或 shell 脚本),就可以启动项目。二者,Spring Boot 只要很少的 Spring 配置文件(例如那些 xml,property)。因为“习惯优先于配置”的原则,使得 Spring Boot 在快速开发应用和微服务架构实践中得到广泛应用。
什么是 spring boot?
SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
05. 为什么要用 spring boot?
Spring Boot使编码变简单
Spring Boot使配置变简单
Spring Boot使部署变简单
Spring Boot使监控变简单
微服务是未来发展的趋势 项目会从传统架构慢慢转向微服务架构 Spring Boot 也是官方大力推荐的技术,可以看出,Spring Boot 是未来发展的一个大趋势。
SpringBoot 特性
自动配置:针对很多 Spring 应用程序常见的应用功能,Spring Boot 能自动提供相关配置;起步依赖:告诉 Spring Boot 需要什么功能,它就能引入需要的库;
命令行界面:这是 Spring Boot 的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建;
Actuator:让你能够深入运行中的 Spring Boot 应用程序,一探究竟。
SpringBoot 核心
@SpringBootApplication 这个 Spring Boot 核心注解是由其它三个重要的注解组合,分别是:
@SpringBootConfiguration 、 @EnableAutoConfiguration 和 @ComponentScan。
@ SpringBootConfiguration
点开查看发现里面还是应用了@Configuration。任何一个标注了@Configuration 的 Java 类定义的都是一个 JavaConfig 配置类。SpringBoot 社区推荐使用基于 JavaConfig 的配置形式,所以,这里的启动类标注了@Configuration 之后,本身其实也是一个 IoC 容器的配置类。
@EnableAutoConfiguration
是一个复合注解。最重要的是@Import(EnableAutoConfigurationImportSelector.class),借助EnableAutoConfigurationImportSelector,@EnableAutoConfiguration 可以帮助 SpringBoot 应用将所有符合条件的@Configuration 配置都加载到当前 SpringBoot 使用的 IoC 容器。
@ComponentScan 这个注解在 Spring 中很重要,它对应 XML 配置中的元素, @ComponentScan 的功能其实就是自动扫描并加载符合条件的组件(比如@Component 和 @Repository 等)或者 bean 定义,最终将这些 bean 定义加载到 IoC 容器中。
107. spring boot 配置文件有哪几种类型?它们有什么区别?
Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件。相对于properties文件而言,yml文件更年轻,也有很多的坑。可谓成也萧何败萧何,yml通过空格来确定层级关系,使配置文件结构跟清晰,但也会因为微不足道的空格而破坏了层级关系。
108. spring boot 有哪些方式可以实现热部署?
SpringBoot热部署实现有两种方式:
①. 使用spring loaded
②. 使用spring-boot-devtools