스프링 IoC 컨테이너는 콩 메서드를 대체하는 an option을 제공합니다. 실제 삶의 문제를 해결하기 위해이 기능을 사용하는 실제 사례를 누군가가 제공 할 수 있습니까?스프링 방법 대체를 사용한 실제 비즈니스 사례는 무엇입니까?
이전 레거시 코드 (출처 없음)를 앱과 함께 사용하는 데 사용되는 것을 볼 수 있습니다. 하지만 스프링 메서드 대체 접근 방식 대신 레거시 코드를 직접 사용하여 어댑터 클래스를 작성하는 것이 좋습니다.
스프링 IoC 컨테이너는 콩 메서드를 대체하는 an option을 제공합니다. 실제 삶의 문제를 해결하기 위해이 기능을 사용하는 실제 사례를 누군가가 제공 할 수 있습니까?스프링 방법 대체를 사용한 실제 비즈니스 사례는 무엇입니까?
이전 레거시 코드 (출처 없음)를 앱과 함께 사용하는 데 사용되는 것을 볼 수 있습니다. 하지만 스프링 메서드 대체 접근 방식 대신 레거시 코드를 직접 사용하여 어댑터 클래스를 작성하는 것이 좋습니다.
, 그것은 기능 "일반적으로 사용되는"아니다.
유용한 경우도 있지만 최종 클래스의 제 3 자 메소드 (소스가있을 필요는 없음)의 기능을 변경하는 것입니다. 즉, 기능을 수정하거나 상속을 통해 확장 할 수없는 메소드 .
나는 아직도하지만 해킹의 무언가에 달할 것입니다 :)
이제 스프링 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");
내가 완전히 질문의 요점을 놓친 것 같아요, 내 예는 빈의 방법을 대체과는 아무 상관이 없습니다. – MrM
해킹이 필요한 경우 예를 들어 위임을 사용하려고 시도하지만 메서드를 바꾸지는 않습니다. 누군가가 비즈니스 코드 관련 솔루션으로 실제로 이것을 사용했는지 궁금합니다. –