[spring-projects/spring-boot]支持程序化的lazy-int排除

2024-04-10 98 views
2

回答

7

感谢您的公关,@tkvangorder。我们可能会探索回调接口Predicate<Class<?>>作为合并的一部分进行扩展的可能性。

9

@wilkinsona 谓词是一个好主意,它为下游项目提供了更多的控制权。我做了一些更改来支持谓词,这是您的想法吗?

4

标记为引起团队注意,以便我们可以讨论从 bean 定义到已定义 bean 类型的最佳方法。

1

@wilkinsona @philwebb

由于我们现在有一个方法可以从工厂中提取给定类型的所有 bean(无需初始化工厂 bean):

如果不使用谓词,而是返回到返回应从延迟加载处理器中排除的类列表的“定制器”,您有何感受?然后,我可以迭代定制器中的类并使用,getBeansOfType(Class<?>, false, false);而不需要对 BeanFactory 进行任何额外的更改。

1

@philwebb 我已经更新了此 PR 以利用新BeanFactory.getType(name, boolean)方法。

5

@tkvangorder 哇,太快了!!它几个小时前才登陆框架?

8

@philwebb @wilkinsona 我知道你们都忙得不可开交,但我认为这个公关已经准备好了。你想让我用它做别的事吗?

6

@tkvangorder 恐怕我们还没有做到这一点,但是这个在列表中确实很高,我们需要在 RC1 之前合并它。请放心,我们没有忘记:)

5

非常感谢@tkvangorder,现在已合并到 master 中。

我在提交 3ffc5f2a301186c67fa2d59cbdb83c2eaa7eaf48 中做了一些改进。我决定重命名EagerLoadingBeanDefinitionPredicateLazyInitializationExcludeFilter以匹配我们已有的一些其他回调接口名称。我还扩展了签名以传递beanNamebeanDefinition以及beanType.由于这会使更明显的实现之一变得复杂,因此我还添加了一个静态工厂方法,以便您可以LazyInitializationExcludeFilter.forBeanTypes(IntegrationFlow.class)快速创建基于类型的过滤器。

再次感谢您为此所做的所有工作,如果您发现我的更改有任何问题,请告诉我!

4

我喜欢这些变化。谢谢!