Spring boot is based on a lot of pre-made auto-configuration parent projects. You should already be familiar with spring boot starter projects.
You can easily create your own starter project by doing the following easy steps:
@Configurationclasses to define default beans. You should use external properties as much as possible to allow customization and try to use auto-configuration helper annotations like
@ConditionalOnMissingBeanetc. You can find more detailed information on each annotation in the official documentation Condition annotations
spring.factoriesand place it in
org.springframework.boot.autoconfigure.EnableAutoConfigurationproperty with comma separated values of your
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.mycorp.libx.autoconfigure.LibXAutoConfiguration,\ com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration
Using this method you can create your own auto-configuration classes that will be picked by spring-boot. Spring-boot automatically scan all maven/gradle dependencies for a
spring.factories file, if it finds one, it adds all
@Configuration classes specified in it to its auto-configuration process.
Make sure your
auto-configuration starter project does not contain
spring boot maven plugin because it will package the project as an executable JAR and won't be loaded by the classpath as intended - spring boot will not be able to find your
spring.factories and won't load your configuration