繁体   English   中英

创建外观组件时将特定组件添加到 Spring Context

[英]Adding a specific components to the Spring Context when creating a facade component

与其让我的一些类@Autowire很多小的@Component ,我想创建一个单独的@Component来收集并转发到较小的@Component

编码本身并不太难,但是当涉及到测试时,它变得很麻烦,因为现在我必须将它添加到@ContextConfiguration(classes) 有没有办法让我不必单独管理它?

使用@ComponentScan添加我可能不想要的整个包,因为它会触发更多的@MockBean被创建。

在我看来,您正在寻找的是@Configuration + @Bean的组合。 您可以通过@Bean初始化完整的链,而不是使用 @Component 标记所有嵌套的子组件,并使用简单的 pojo-s 而不是 spring 管理的 bean。 当然,最终的结果将是一个 spring 管理的 bean,但是在初始化过程中,您可以在任何地方使用 spring 或不使用 spring 对其进行初始化。

关于 ComponetScan。 通常,如果我只想加载某个部分,我会使用我想要的 conponenbt 扫描的显式模式创建注释,然后我在我想要的域中使用它。

例如,假设我们有两组 Mapper 类,一组是关于订单的,另一组是关于库存的。 我可以创建注释@EnableOrderMappers和注释@EnableInventoryMappers ,并在其上添加适当的组件@EnableInventoryMappers注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM