1.SpringBoot 是什么?为什么我们选择使用SpringBoot 开发?
由于xml 的可读性差,基于注解的方式也有不足,那这时候,为了解决这些问题,更加的提升开发效率 SpringBoot 登场了。它的到来 就把我们的 xml 配置基本上都省略了。但是也不是绝对的完全省略,而是让我们操作应用起来跟简单了。但是它也有一个弊端,那就是一旦出了问题不好定位。
什么是 SpringBoot?
简单的说,SpringBoot 就是整合了很多优秀的框架,不用我们自己手动的去写一堆 xml 配置然后进行配置。
从本质上来说,SpringBoot 就是 Spring,它做了那些没有它你也会去做的Spring Bean 配置。它使用 “习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用 SpringBoot 很容易创建一个独立运行(运行 jar,内嵌 Servlet 容器).准生产级别的基于 Spring 框架的项目,使用 SpringBoot 你可以不用或者只需要很少的 Spring 配置。
为什么要用 SpringBoot?(敏捷开发)
快速的完成 Spring 和其他框架的构建整合。进一步提升开发效率。这就是当今流行的敏捷开发。
2.SpringBoot 原理分析及启动时的一些细节
解释 @SpringBootApplication 的作用
@SpringBootApplication = @Configuration +@EnableAutoConfiguration + @ComponentScan
@Configuration: ----提到@Configuration 就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的 spring 配置类,可以用来替代相应的 xml 配置文件。
@EnableAutoConfiguration:---- 能够自动配置 spring 的上下文,试图猜测和配置你想要的 bean 类,通常会自动根据你的类路径和你的 bean 定义自动配置。
@ComponentScan – 会自动扫描指定包下的全部标有@Component 的类,并注册成 bean
@SpringBootApplication:----就是他们几个的结合体
经 常 见 到 的 几 个 JDK 的 元 注 解 :
@Target(ElementType.TYPE) // 当前注解的使用范围
@Retention(RetentionPolicy.RUNTIME) //生命周期
@Documented // 声明在生成 doc 文档时是否带着注解
@Inherited // 声明是否子类会显示父类的注解