有點類似java 内部類。看個demo。假設有下面的一個bean:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code>public</code> <code>class</code> <code>customer</code>
<code>{</code>
<code> </code><code>private</code> <code>person person;</code>
<code> </code>
<code> </code><code>public</code> <code>customer(person person) {</code>
<code> </code><code>this</code><code>.person = person;</code>
<code> </code><code>}</code>
<code> </code><code>public</code> <code>void</code> <code>setperson(person person) {</code>
<code> </code><code>@override</code>
<code> </code><code>public</code> <code>string tostring() {</code>
<code> </code><code>return</code> <code>"customer [person="</code> <code>+ person + </code><code>"]"</code><code>;</code>
<code>}</code>
<code>public</code> <code>class</code> <code>person</code>
<code> </code><code>private</code> <code>string name;</code>
<code> </code><code>private</code> <code>string address;</code>
<code> </code><code>private</code> <code>int</code> <code>age;</code>
<code> </code><code>//getter and setter methods</code>
<code> </code><code>return</code> <code>"person [address="</code> <code>+ address + ",</code>
<code> </code><code>age=</code><code>" + age + "</code><code>, name=</code><code>" + name + "</code><code>]";</code>
<code> </code><code>} </code>
<code> </code><code><</code><code>bean</code> <code>id="customerbean" class="com.mkyong.common.customer"></code>
<code> </code><code><</code><code>property</code> <code>name="person" ref="personbean" /></code>
<code> </code><code></</code><code>bean</code><code>></code>
<code> </code><code><</code><code>bean</code> <code>id="personbean" class="com.mkyong.common.person"></code>
<code> </code><code><</code><code>property</code> <code>name="name" value="mkyong" /></code>
<code> </code><code><</code><code>property</code> <code>name="address" value="address1" /></code>
<code> </code><code><</code><code>property</code> <code>name="age" value="28" /></code>
<code></</code><code>beans</code><code>></code>
<code> </code><code><</code><code>property</code> <code>name="person"></code>
<code> </code><code><</code><code>bean</code> <code>class="com.mkyong.common.person"></code>
<code> </code><code><</code><code>property</code> <code>name="name" value="mkyong" /></code>
<code> </code><code><</code><code>property</code> <code>name="address" value="address1" /></code>
<code> </code><code><</code><code>property</code> <code>name="age" value="28" /></code>
<code> </code><code></</code><code>bean</code><code>></code>
<code> </code><code></</code><code>property</code><code>></code>
我們也可以使用構造函數注入
<code> </code><code><</code><code>constructor-arg</code><code>></code>
<code> </code><code></</code><code>constructor-arg</code><code>></code>
note
注意,在inner bean中,id和name不是必須的,因為他們會被容器忽略。
<code>import</code> <code>org.springframework.context.applicationcontext;</code>
<code>import</code> <code>org.springframework.context.support.classpathxmlapplicationcontext;</code>
<code>public</code> <code>class</code> <code>app</code>
<code> </code><code>public</code> <code>static</code> <code>void</code> <code>main( string[] args )</code>
<code> </code><code>{</code>
<code> </code><code>applicationcontext context =</code>
<code> </code><code>new</code> <code>classpathxmlapplicationcontext(</code><code>new</code> <code>string[] {</code><code>"spring-customer.xml"</code><code>});</code>
<code> </code><code>customer cust = (customer)context.getbean(</code><code>"customerbean"</code><code>);</code>
<code> </code><code>system.out.println(cust);</code>