SpringBoot自定义starter实例代码
SpringBoot 自定义 Starter 实例代码 SpringBoot 自定义 Starter 实例代码是指通过自定义 Starter 来简化 SpringBoot 的使用。SpringBoot 的强大功能之一是 把常用的场景抽取成了一个个 Starter(场景启动器),我们通过引入 SpringBoot 为我们提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能。但是,SpringBoot 也不能囊括我们所有的使用场景,往往我们需要自定义 Starter,来简化我们对 SpringBoot 的使用。 一、简介 SpringBoot 的自定义 Starter 实例代码主要是通过自定义 Starter 来简化 SpringBoot 的使用。自定义 Starter 可以让我们更方便地使用 SpringBoot,提高开发效率。 二、如何自定义 Starter 要自定义 Starter,我们需要参照 SpringBoot 的自动配置类,例如@WebMvcAutoConfiguration。自动配置类主要通过 @Configuration、@ConditionalOnXXX、@AutoConfigureOrder、@Bean 等注解来实现自动配置。我们可以抽取到我们自定义 Starter 时,同样需要的一些配置。 1. 实例实例如何编写自动配置? 自动配置类主要通过 @Configuration、@ConditionalOnXXX、@AutoConfigureOrder、@Bean 等注解来实现自动配置。例如@WebMvcAutoConfiguration: ```java @Configuration @ConditionalOnWebApplication @ConditionalOnClass({Servlet.class, DispatcherServlet.class, WebMvcConfigurerAdapter.class}) @ConditionalOnMissingBean({WebMvcConfigurationSupport.class}) @AutoConfigureOrder(-2147483638) @AutoConfigureAfter({DispatcherServletAutoConfiguration.class, ValidationAutoConfiguration.class}) public class WebMvcAutoConfiguration { @Import({WebMvcAutoConfiguration.EnableWebMvcConfiguration.class}) @EnableConfigurationProperties({WebMvcProperties.class, ResourceProperties.class}) public static class WebMvcAutoConfigurationAdapter extends WebMvcConfigurerAdapter { @Bean @ConditionalOnBean({View.class}) @ConditionalOnMissingBean public BeanNameViewResolver beanNameViewResolver() { BeanNameViewResolver resolver = new BeanNameViewResolver(); resolver.setOrder(2147483637); return resolver; } } } ``` 我们可以抽取到我们自定义 Starter 时,同样需要的一些配置: * @Configuration:指定这个类是一个配置类 * @ConditionalOnXXX:指定条件成立的情况下自动配置类生效 * @AutoConfigureOrder:指定自动配置类的顺序 * @Bean:向容器中添加组件 * @ConfigurationProperties:结合相关 xxxProperties 来绑定相关的配置 * @EnableConfigurationProperties:让 xxxProperties 生效加入到容器中自动配置类要能加载需要将自动配置类,配置在 META-INF/spring.factories 中 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ ... 我们可以参照 spring-boot-starter,我们发现其中没有代码,我们在看它的 pom 中的依赖中有个 springboot-starter: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> ``` 我们再看看 spring-boot-starter,它的 pom 中的依赖中有很多的 Starter,例如 spring-boot-starter-web、spring-boot-starter-data-jpa 等。 三、自定义 Starter 的好处 自定义 Starter 可以让我们更方便地使用 SpringBoot,提高开发效率。通过自定义 Starter,我们可以简化 SpringBoot 的使用,提高开发效率。 四、结论 SpringBoot 自定义 Starter 实例代码是指通过自定义 Starter 来简化 SpringBoot 的使用。通过自定义 Starter,我们可以简化 SpringBoot 的使用,提高开发效率。
- 粉丝: 4
- 资源: 963
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助