首页 文章

jar文件的spring boot parent

提问于
浏览
2

我想创建一个jar文件,我可以将其添加到类路径中,并基本上“插件”到现有的Spring启动应用程序 . 我需要它能够注释Component,ConfigurationProperties以及spring boot为你提供的所有有趣的东西,但我希望它“瘦”,它将是一个jar文件,用作完整的Spring引导Web应用程序的一部分 .

我需要jar文件可以在外部配置 . 不同部署的属性文件将有所不同 . 因此,使用@Configuration注释非常重要 .

我看看spring-boot-starter-parent,它有jetty,tomcat,hibernate的东西,是一个巨大的jar文件 . 我不希望这样 .

有一个“瘦”的父母?

Spring 季靴子根本不是我想要的吗?我应该使用常规的spring项目并设置我的“Main”spring boot web应用程序来进行组件扫描以配置jar文件?

1 回答

  • 2

    听起来你正在尝试定义自己的Spring Boot Starter . 这是Spring Boot为您提供的真正强大功能,它包含依赖项并使其自动配置 .

    通过以正确的方式打包jar,Spring Boot将自动检测到配置,组件和属性文件 . 我过去曾经使用过这种情况,我希望我的所有应用程序都以特定方式记录,或者为我的REST endpoints 强制执行某种格式 .

    The documentation给出了您需要采取的步骤的全面概述 . 但实际上,你打算像其他任何一个包装你的jar(包含你的 @Bean@Component@Service@Configuration 类),并提供一个指向配置的属性文件:

    // Example spring.factories file
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    com.mycorp.libx.autoconfigure.LibXAutoConfiguration,\
    com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration
    

    另外,检查一组 @ConditionalOn ...注释,它们可以真正帮助控制哪些bean根据定义的属性,激活的配置文件或正在加载的依赖项变为活动状态 .

相关问题