使用弹簧法更换的真实商业案例?

时间:2008-11-11 08:46:43

标签: java spring

Spring IoC容器为您提供了替换bean方法的an option。有人可以提供使用此功能解决现实生活问题的真实例子吗?

我可以看到这用于调整旧的遗留代码(没有来源)以使用您的应用。但我想我会考虑直接使用遗留代码而不是Spring方法替换方法编写适配器类。

2 个答案:

答案 0 :(得分:1)

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

虽然可能有用但改变最终类的第三方方法(您不一定拥有源)的功能 - 即无法通过继承修改或扩展其功能的情况。

我想它仍然会成为一种黑客攻击:)

答案 1 :(得分:0)

现在使用spring IoC我可以将我的Lucene Analyzers更改为我想要的更改配置文件。

<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");