转自:
Spring Boot Starter必知必会(Spring Boot Starter简介及定义方法分享)
下文笔者讲述SpringBoot Starter的简介及定义SpringBootStarter的方法分享,如下所示
Spring Boot Starter在SpringBoot中是一个非常重要的概念 SpringBootStarter她实现了组件的可插拔,如:Mybatis starter,redis starter等等 她的出现,使我们的开发更简洁,集成各种框架更简单
官方对Starter项目的jar包定义artifactId有相应的规范指引如:Spring官方出品的starter,其命名规则如下所示spring-boot-starter-{name}如:spring-boot-starter-web非Spring官方出品的starter,官方建议命名方式为:{name}-spring-boot-starter
例: Maven项目需对JPA操作首先在Maven(pom.xml)中引入 jdbc,jpa的坐标当然也需要编写一个javaConfig,将bean交给Spring容器管理进行很多的配置然后一步一步的调试程序,直到能够运行
在starter中,并不是说减少代码的编写 而是减少每次集成时的重复工作因为我们在Starter中已经对集成所需的所有工作进行了相应的配置 再次使用时,只需引入相应的starter 就可以使用指定的组件了
1.新建一个Maven项目在pom.xml文件中定义好所需依赖2.新建配置类写好配置项和默认值使用@ConfigurationProperties指明配置项前缀;3.新建自动装配类使用@Configuration和@Bean来进行自动装配4.新建spring.factories文件,用于指定自动装配类的路径;5.将starter安装到maven仓库,让其他项目能够引用spring.factories文件必须放在resources/META-INF目录下需要手动创建;org.springframework.boot.autoconfigure.EnableAutoConfiguration后面的类名说明自动装配类如果有多个,则使用逗号分开;使用者应用(SpringBoot)在启动的时候会通过org.springframework.core.io.support.SpringFactoriesLoader读取classpath下每个Starter的spring.factories文件加载自动装配类进行Bean的自动装配;