springboot的起步依赖以及自动装配原理
在使用spring框架的时候,我们需要配置applicationContext.xml的配置文件,并且在pom文件中,我们需要导入相关的依赖jar包以及版本,这样在使用的过程中,就显得有些复杂.
而springboot利用起步依赖和自动装配就很好的解决了一个问题,首先,我们来说说起步依赖,在springboot的pom文件中,我们依赖<parent>父工程 ,在父工程中,定义了相关的坐标以及版本信息,这样我们继承了这个父工程的时候,就不需要指定版本信息,在我们的项目中.依赖了start-web这个坐标,而这个坐标依赖了spring以及springmvc的坐标,这样,根据依赖传递我们的项目就间接依赖了spring和mvc坐标,所有我们只需要导入start-web这一个坐标就可以了
接下来我们说说自动装配,在springboot的启动类上有一个@SpringBootApplication注解,这个注解也是springboot项目的核心注解,在@SpringBootApplication注解中,有一个@EnableAutoConfiguration注解,也就是开启自动配置的意思,这个注解的关键功能由@Import提供,其导入的AutoConfigurationImportSelector中的selectImports()方法能够找到META-INF/spring.factories配置文件中的所有启动配置类,并对其进行加载,而这些自动配置类都是以AtuoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,通过@ConfigurationProperties注解,绑定到对应的以properties结尾的配置实体类上封装为一个bean,然后在通过@EnableAutoConfiguration注解导入到Spring容器中,这样自动装配就完成了.