2014-12-10 3 views

답변

1

idref은 배포시 참조 된 명명 된 Bean이 실제로 존재하는지 확인하여 보안 계층을 추가하기 만하면됩니다.

A very nice example with appropriate explanation is provided in this link

<bean id="abc" class="..."/> 

<bean id="xyz" class="..."> 
    <property name="abcName"> 
     <idref bean="abc" /> 
    </property> 
</bean> 

<bean id="abc" class="..." /> 

<bean id="xyz" class="..."> 
    <property name="abcName" value="abc" /> 
</bean> 

첫 번째 방법을 사용하는 이점은 이미 설명한 바와 같이 기록 될 수있다.

두 번째 방법을 사용하는 경우 xyz bean의 abcName 속성에 전달 된 값에 대한 유효성 검사가 수행되지 않습니다. 즉, 컨텍스트를로드하는 중입니다.

오류는 xyz bean이 인스턴스화 될 때만 발견됩니다. 따라서 인스턴스화 단계에서 개발자가 오타가 주입되었는지 여부는 알 수 없습니다.

참고 :그것은 단지 권장되는 방법이 아닌 필수 접근

+0

좋아, 그런데 왜 & 우리가 IDREF를 사용해야 할 때입니까? – dosdebug

+0

@ItachiUchiha가이 답변의 첫 번째 줄에 설명했듯이, 명명 된 bean이 삽입되기 전에 존재하는지 확인하고자 할 때마다 설명합니다. – Steve

+0

단지 유효성 확인 이외의 무엇입니까? 유효성 검사를위한 것이라는 것을 압니다. – dosdebug