什么是Spring
Spring是一个开源框架,2003年兴起的轻量级的Java开发框架。
作者:Rod Johnson
Spring是为解决企业级应用开发的复杂性而创建的,简化开发。
Spring如何简化Java开发的
spring采用了以下4种关键策略
- 基于POJO的轻量级和最小侵入编程。
- 通过IOC,依赖注入(DI)和面向接口实现松耦合。
- 基于切面(AOP)和惯例进行声明式编程。
- 通过切面和模板减少样式代码。
什么是SpringBoot
官方:简化开发,约定大于配置,能迅速的开发web应用。
Spring Boot是由 Pivotal
团队提供的全新的 JavaWeb
框架。
目的是用来 简化Spring应用的开发过程。
SpringBoot框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
SpringBoot主要优点
SpringBoot是伴随着Spring 4.0而生的,boot是引导的意思,也就是它的作用其实就是在于帮助开发者快速的搭建Spring框架。
因此SpringBoot继承了Spring优秀的基因,在Spring中开发更为方便快捷。
- 开箱即用,提供各种默认配置来简化项目配置
- 内嵌式容器简化Web项目
- 没有冗余代码生成和XML配置的要求
SpringBoot如何简化Spring开发的
基于约定大于配置的思想
- 约定以starter的形式减少依赖: 比如spring-boot-starter-web约定一个web开发环境,包括tomcat服务器,spring-web、spring-webmvc等相关依赖。
- 约定resources目录存放配置文件。
- 约定springboot的配置文件是
application.yml
或者是application.properties
文件。 - 约定springboot的配置文件是application.yml或者是application.properties文件。
在结合springboot的注解
- 本来在spring项目中,需要用@Configuration标注某个类是JavaConfig类,用@Bean注解标注需要注入的Bean,然后用@ComponentScan在classPath下批量的采集@Component@Repository注解的定义类,到IoC当中。
- 但是在springboot项目中,直接用@springbootApplication就可以实现,这是springboot项目的启动类,实际上是多个注解的组合,组合中最关键的是@configuration、@EnableAutoConfiguration、@ComponentScan。
- 其中,@EnableAutoConfiguration也是一个组合注解,其中最重要的一个是@Import注解,通过一个SpringFactoriesLoader,把结尾是XXconfiguration的配置类自动装配到BeanFactory里面。并且springboot提供了基于条件的自动配置,并且可以调整配置的顺序。
结合springboot的run方法
SpringApplication的run方法将启动一个spring项目的流程进行了模板化。
- 首先是让所有的ApplicationListener开始监听,并准备springboot的运行环境。
- 然后开始创建IoC容器,并且把之前找到的Configuration配置类和其他的bean注册到容器调用refresh方法实现Bean的属性注入。
- 至此,springIoc准备就绪。
- 但在启动完毕之前,会查找是否有CommandLineRunner类。
- 如果有的话,就先执行这些类
- 如果没有就调用finish,认为启动完毕。
- 所以,有一些服务器启动前一些定制的初始化任务可以放在CommandLineRunner里面。
标签:SpringBoot,spring,配置,初识,Spring,注解,springboot From: https://www.cnblogs.com/KeFeng/p/16790788.html