gpt4 book ai didi

java - 导入 spring 配置并排除过滤器

转载 作者:行者123 更新时间:2023-11-30 07:11:08 25 4
gpt4 key购买 nike

我有一个执行 @ComponentScan 的 spring 上下文。

我想添加配置的变体,通过包名称或正则表达式排除某些 bean。我知道使用 @Import 导入其他配置。

但是,我可以导入配置并通过执行排除过滤器来覆盖其组件扫描吗?这行得通吗?

@Configuration
@ComponentScan(value = { "my.app.pack1", "my.app.pack2" })
public class ClientApplicationConfig {}



@Configuration
@ComponentScan(value = { "my.app.pack1" },
excludeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ, pattern = "my.app.pack1.ignore.*"))
public class DifferentClientAppConfig {}

最佳答案

是的,你可以做到。例如,尝试以下操作:

@Configuration
@ComponentScan(value={"my.app.pack1"},excludeFilters=@ComponentScan.Filter(type=FilterType.CUSTOM,value=MainConfig.WebExclude.class))
public class MainConfig
{
public static class WebExclude extends RegexPatternTypeFilter{

public WebExclude(Pattern aPattern)
{
super(Pattern.compile("my.app.pack1\\.ignore"));
}
...

你可以给它任何你想要的正则表达式。这将组件扫描 my.app.pack1 不包括 my.app.pack1.ignore。*

关于java - 导入 spring 配置并排除过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39227791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com