【问题标题】:spring automatic bean definition from library/jar file来自库/jar文件的spring自动bean定义
【发布时间】:2020-01-09 02:32:26
【问题描述】:

我正在编写一个包含一些实用程序类的库,是否有一种惯用的 spring 方式让库/jar 文件自动定义 bean?

该库将包含在几个 Spring 应用程序中,但我不想在所有使用我的帮助程序库的 Spring 应用程序中注册实用程序 bean。 所以有可能一个库/jar文件为自己定义bean并且所有使用spring应用程序的人都会自动将这些bean添加到它们的上下文中?

【问题讨论】:

    标签: spring


    【解决方案1】:

    您可以根据实用程序/包对 bean 进行分组,然后在

    中定义它们

    @配置

    类。

    例如

    A 类和 B 类在 com.example.helper 包中,类似地 X 类和 Y 类在包 com.example.utilities 中

    您可以在每个包中创建 2 个配置类并定义 bean

    @Configuration
    public class HelperConfiguration{
     @Bean
     public A a(){
       return new A();
     }
    }
    

    同样在包 com.example.utilities 创建

    @Configuration
    public class UtilitiesConfiguration{
     @Bean
     public X x(){
       return new X();
     }
    }
    

    现在,如果您的客户端 spring 应用程序只需要实用程序包中的 beans,他们可以简单地导入 UtilitiesConfiguration 类。

    @Import({ UtilitiesConfiguration.class})
    public class ClientApp{
      ...
    }
    

    这样你可以模块化你的代码。

    【讨论】:

      猜你喜欢
      • 2014-11-23
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      相关资源
      最近更新 更多