【问题标题】:Is it possible to override abstract beans in Spring?是否可以在 Spring 中覆盖抽象 bean?
【发布时间】:2022-01-06 08:58:01
【问题描述】:

我正在尝试覆盖标准 Hybris (OOTB) 框架提供的这个 bean。我很想覆盖它,所以它使用我自己的自定义类。这可能吗?

【问题讨论】:

  • 您可以扩展它并覆盖该方法,acceleratorservices-spring.xml 中有很多示例,只需使用此 bean 搜索 defaultHomePageSiteMapGenerator

标签: spring overriding abstract hybris


【解决方案1】:

您可以创建新的扩展抽象类,但现有类不使用它。您可以使用自定义功能来覆盖类和/或弹簧配置。但是在打补丁或更新系统时必须小心。 How to override hybris platform files other than customize

【讨论】:

    【解决方案2】:

    您想为映射到抽象 bean 定义的属性之一注入自定义实现,还是希望抽象 bean 使用您提供的自定义类?

    后者不起作用,因为您还会破坏实现 bean 的所有配置。

    您应该寻找所有使用此抽象 bean 作为父级的 bean,并思考您想要更改哪些并更改它们。最有可能的是,这些 bean 将定义一个别名,您可以使用它来更改它。 :-)

    最好的贝希特

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 2019-08-21
      相关资源
      最近更新 更多