【问题标题】:Exclude Interceptors added by component-scan排除组件扫描添加的拦截器
【发布时间】:2015-10-27 19:10:58
【问题描述】:

我包含一个 jar,该 jar 具有一个类,该类为具有拦截器的几个包启用了组件扫描。我想包含这个 jar 并使用这个类,但我不希望使用被扫描的拦截器,并且想要定义我自己的必须使用的拦截器。如何确保排除 jar 中类中组件扫描的一部分的拦截器?

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    如果您可以访问包含的源 JAR,我建议您从 JAR 中删除组件扫描配置。组件扫描应设置在最顶层以避免此类问题,即在您的“最终”WAR 或 JAR 中。

    也就是说,你仍然可以:

    1. 包括来自 JAR 的所有配置,并使用 exclude-filter 配置排除特定包的所有拦截器,例如
    2. 不包含 JAR 中的配置并重写您需要的配置部分

    这取决于 JAR 中包含多少(以及什么)Spring 配置。

    【讨论】:

    • 谢谢盖尔。我无权访问源代码。我确实尝试了 exclude filter ,但它似乎没有排除在 jar 中执行的组件扫描。它只是从我的代码中包含的包中排除不需要的类。我能够自己创建一个类而不使用 jar 中的类(我假设这是您建议的第二个选项),但想看看我是否可以避免重复代码。
    • 如果您可以提供配置的快速示例,它可能会有所帮助,但据我了解,没有办法按照您的要求进行操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多