赞
踩
在面试过程中,被问到了如何自定义一个SpringBoot starter,第一反应,完了不会,没用过,为了防止以后再遇到同样的问题,下定决心要弄懂这个问题,毕竟有面试官都问了,要学会总结,才能成长。以下只是我的个人理解,不喜忽喷。
命名规范:官方的starter是以spring-boot-starter-xxx,自定义的stater 是以xxx-spring-boot-starter,我们应该遵循这个规定。
第一步:定义一个配置类。使用@ConfigurationProperties注解并指定prefix 前缀,这个注解将会把application.yml里面的配置文件内容映射到配置类中。
第二步:定义一个自动配置类。使用@EnbaleConfigurationProperties注解可以将之前的配置类注入到spring容器中。可以同时使用@ConditionalOnProperty或者@ConditionalOnClass注解来增加配置类的生效条件。在自动配置类中,可以自定义一些Bean。
第三步:注册自动配置类:在resource 目录下,新建一个spring.factories.xml key是org.springframework.boot.autoconfigure.EnableAutoConfiguration,value是刚才自定义的自动配置类的全路径。
第四步:mvn install 将jar包打包到本地,然后就可以在项目中应用该jar包。
执行完以上步骤后,就完成了自定义starter的步骤。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。