本文共 2279 字,大约阅读时间需要 7 分钟。
有点类似java 内部类。看个demo。假设有下面的一个bean:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public class Customer { private Person person; public Customer(Person person) { this .person = person; } public void setPerson(Person person) { this .person = person; } @Override public String toString() { return "Customer [person=" + person + "]" ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Person { private String name; private String address; private int age; //getter and setter methods @Override public String toString() { return "Person [address=" + address + ", age= " + age + " , name= " + name + " ]"; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | < beans xmlns="" xmlns:xsi="" xsi:schemaLocation=" "> < bean id="CustomerBean" class="com.mkyong.common.Customer"> < property name="person" ref="PersonBean" /> </ bean > < bean id="PersonBean" class="com.mkyong.common.Person"> < property name="name" value="mkyong" /> < property name="address" value="address1" /> < property name="age" value="28" /> </ bean > </ beans > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < beans xmlns="" xmlns:xsi="" xsi:schemaLocation=" "> < bean id="CustomerBean" class="com.mkyong.common.Customer"> < property name="person"> < bean class="com.mkyong.common.Person"> < property name="name" value="mkyong" /> < property name="address" value="address1" /> < property name="age" value="28" /> </ bean > </ property > </ bean > </ beans > |
我们也可以使用构造函数注入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < beans xmlns="" xmlns:xsi="" xsi:schemaLocation=" "> < bean id="CustomerBean" class="com.mkyong.common.Customer"> < constructor-arg > < bean class="com.mkyong.common.Person"> < property name="name" value="mkyong" /> < property name="address" value="address1" /> < property name="age" value="28" /> </ bean > </ constructor-arg > </ bean > </ beans > |
Note
注意,在inner bean中,id和name不是必须的,因为他们会被容器忽略。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main( String[] args ) { ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "Spring-Customer.xml" }); Customer cust = (Customer)context.getBean( "CustomerBean" ); System.out.println(cust); } } |
转载地址:http://bhvol.baihongyu.com/