代码之家  ›  专栏  ›  技术社区  ›  Georgy Bolyuba

使用Spring方法替换的实际业务案例?

  •  0
  • Georgy Bolyuba  · 技术社区  · 16 年前

    春季国际奥委会集装箱给你 an option 替换bean的方法。有人能提供一个现实生活中使用这个功能来解决现实生活问题的例子吗?

    我可以看到它用于调整旧的遗留代码(不带源代码)来使用您的应用程序。但我认为我会考虑直接使用遗留代码编写适配器类,而不是使用Spring方法替换方法。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Harry Lime    16 年前

    正如文档所说,它不是“通常有用”的功能。

    但是,在这种情况下,可能有用的是修改最终类的第三方方法(不一定有源代码)的功能,即其功能不能通过继承进行修改或扩展的方法。

    不过,我想这还是有点像黑客的行为:)

        2
  •  0
  •   MrM    16 年前

    现在使用SpringIOC,我可以将我的Lucene分析器更改为任何我想更改的配置文件。

    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                    <property name="locations">
                            <list>
                                    <value>file.properties</value>
                            </list>
                    </property>
    </bean> 
    
    
    <bean id="DocumentAnalyzer" class="${lucene.document_analyzer}">
    </bean>
    
    <bean id="QueryAnalyzer" class="${lucene.query_analyzer}">
    </bean> 
    
    <bean id="IndexSearcher" class="org.apache.lucene.search.IndexSearcher" scope="prototype">
      <constructor-arg>
        <value>${lucene.repository_path}</value>   
      </constructor-arg>
    
    </bean> 
    

    然后在代码中:

    Analyzer analyzer  = (Analyzer) BeanLoader.getFactory().getBean("DocumentAnalyzer");