2010-02-02 5 views
0

객체 목록 인 속성을 가진 Spring 관리 Bean (Application-scoped 또는 Spring 세계의 singleton)이 있습니다.Spring - bean이 아닌 클래스를 구성하기

너무 많은 노력이 필요하지 않은 경우 XML로 이러한 개체를 구성하고 싶습니다.

빈으로 선언하면 삽입 할 수 있지만 스프링 관리 빈이 아니며 구성이 길어지고 빈을 만드는 데 추가 오버 헤드가 발생합니다 (메모리 + cpu주기).

제이보스 심, 부두에서

, 정말 같은 구성 요소를 인스턴스화 할 수 있습니다 :

<New class="" id=""> 
    <Arg/> 
    <Arg> 
    <New class=""/> 
    </Arg> 
</New> 

을 제이보스 심에서 :

<mypackage:class-name id="someComponent"> 
    <component:property name="items"> 
    <mypackage:other-class-name title="The Great Gatsby" pages="201"/> 
    </...> 
</...> 

내가 주요 항목이 구성 요소/빈되고 싶지가 아니라 내부 구성 요소. 나는 단지 익명으로 유지하기를 원하며, 부모로부터 상속받은 라이프 사이클 이외의 다른 라이프 사이클과 관련되지 않도록하고 싶습니다.

내부 항목은 mypackage : other-class-name이고 Arg 요소는 New입니다.

감사합니다,

월터

+1

스프링이 아닌 경우 누가 XML을 처리하겠습니까? – danben

+0

당신이하고 싶은 것을 보여주는 간단한 예를주세요 – skaffman

+0

몇 개의 물체가 있습니까? 내게는 (내부) 콩을 만드는 것이 다른 사람이 눈에 띄는 오버 헤드가 될 수 있도록 최소한 2 ~ 3 만 가지가되어야 할 것 같습니다. –

답변

2

나는 그것이 가능하다고 생각하지 않습니다. 아마도 당신이 필요로하는 것은 inner beans definitions입니다.

<bean id="outer" class="..."> 
<!-- instead of using a reference to a target bean, simply define the target bean inline --> 
    <property name="target"> 
    <bean class="com.example.Person"> <!-- this is the inner bean --> 
     <property name="name" value="Fiona Apple"/> 
     <property name="age" value="25"/> 
    </bean> 
    </property> 
</bean> 
+0

그게 제가 처음 생각한 것입니다. 내가 생각할 수있는 유일한 다른 방법은 잘 알려진 속성 값을 사용하여 빈에서 올바른 객체를 인스턴스화하는 것입니다. (즉, ) 예를 들어, 다른 가능성. – Matt

+0

그래, 능률적이지는 않겠지 만 충분 하리라 생각된다. –

관련 문제