springboot使用了特定的方式来进行配置,目的是用来简化新Spring应用的初始搭建以及开发过程。那springboot的starter是什么?下面来我们就来给大家讲解一下springboot的starter的含义。
Spring Boot 的便利性体现在,它简化了很多烦琐的配置,这对于开发人员来说是一个福音,通过引入各种 Spring Boot Starter 包可以快速搭建出一个项目的脚手架。
Spring Boot Stater可以理解为这是一个启动器,这个启动器会自动依赖其他组件,一站式获取你需要的与spring有关的组件。
举个例子:
如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa、spring-boot-starter-jdbc 依赖项,你就可以完美进行。
如果你想开发一个web应用程序,只需要你的项目包含 spring-boot-starter-web 依赖项就可以了。
Spring Boot Starter如何创建项目?
创建一个项目 spring-boot-starter-demo,pom.xml 配置代码如下所示。
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> </dependencies>
创建一个配置类,用于在属性文件中配置值,相当于 spring.data.mongo 这种形式,代码如下所示。
import org.springframework.boot.context.properties.ConfigurationProperties; import lombok.Data; @Data @ConfigurationProperties("spring.user") public class UserPorperties { private String name; }
再定义一个 Client,相当于 MongoTemplate,里面定一个方法,用于获取配置中的值,代码如下所示。
public class UserClient { private UserPorperties userPorperties; public UserClient() {} public UserClient(UserPorperties p) { this.userPorperties = p; } public String getName() { return userPorperties.getName(); } }
自动创建客户端
一个最基本的 Starter 包定义好了,但目前肯定是不能使用 UserClient,因为我们没有自动构建 UserClient 的实例。接下来开始构建 UserClient,代码如下所示。
@Configuration @EnableConfigurationProperties(UserPorperties.class) public class UserAutoConfigure { @Bean @ConditionalOnProperty(prefix = "spring.user", value = "enabled", havingValue = "true") public UserClient userClient(UserPorperties userPorperties) { return new UserClient(userPorperties); } }
Spring Boot 会默认扫描跟启动类平级的包,假如我们的 Starter 跟启动类不在同一个主包下,如何能让 UserAutoConfigure 生效?
在 resources 下创建一个 META-INF 文件夹,然后在 META-INF 文件夹中创建一个 spring.factories 文件,文件中指定自动配置的类:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.cxytiandi.demo.UserAutoConfigure
Spring Boot 启动时会去读取 spring.factories 文件,然后根据配置激活对应的配置类,至此一个简单的 Starter 包就实现了。
按照这些方法就可以创建Spring Boot 项目了,SpringBoot不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。最后大家如果想要了解更多其他工具教程知识,敬请关注奇Q工具网。
推荐阅读: