2008-11-11 3 views
0

스프링 IoC 컨테이너는 콩 메서드를 대체하는 an option을 제공합니다. 실제 삶의 문제를 해결하기 위해이 기능을 사용하는 실제 사례를 누군가가 제공 할 수 있습니까?스프링 방법 대체를 사용한 실제 비즈니스 사례는 무엇입니까?

이전 레거시 코드 (출처 없음)를 앱과 함께 사용하는 데 사용되는 것을 볼 수 있습니다. 하지만 스프링 메서드 대체 접근 방식 대신 레거시 코드를 직접 사용하여 어댑터 클래스를 작성하는 것이 좋습니다.

답변

1

, 그것은 기능 "일반적으로 사용되는"아니다.

유용한 경우도 있지만 최종 클래스의 제 3 자 메소드 (소스가있을 필요는 없음)의 기능을 변경하는 것입니다. 즉, 기능을 수정하거나 상속을 통해 확장 할 수없는 메소드 .

나는 아직도하지만 해킹의 무언가에 달할 것입니다 :)

+0

해킹이 필요한 경우 예를 들어 위임을 사용하려고 시도하지만 메서드를 바꾸지는 않습니다. 누군가가 비즈니스 코드 관련 솔루션으로 실제로 이것을 사용했는지 궁금합니다. –

0

이제 스프링 IoC를 사용하여 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"); 
+0

내가 완전히 질문의 요점을 놓친 것 같아요, 내 예는 빈의 방법을 대체과는 아무 상관이 없습니다. – MrM

관련 문제