Person.java
package com.msb.bean;
import java.util.*;
public class Person {
private int id;
private String name;
private Integer age;
private String grender;
private String[] hobbies;
private Address address;
private List<Address> lists;
private Set<String> sets;
private Map<String,Object> maps;
private Properties properties;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGrender() {
return grender;
}
public void setGrender(String grender) {
this.grender = grender;
}
public String[] getHobbies() {
return hobbies;
}
public void setHobbies(String[] hobbies) {
this.hobbies = hobbies;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public List<Address> getLists() {
return lists;
}
public void setLists(List<Address> lists) {
this.lists = lists;
}
public Set<String> getSets() {
return sets;
}
public void setSets(Set<String> sets) {
this.sets = sets;
}
public Map<String, Object> getMaps() {
return maps;
}
public void setMaps(Map<String, Object> maps) {
this.maps = maps;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", grender='" + grender + '\'' +
", hobbies=" + Arrays.toString(hobbies) +
", address=" + address +
", lists=" + lists +
", sets=" + sets +
", maps=" + maps +
", properties=" + properties +
'}';
}
}
Address.java
package com.msb.bean;
public class Address {
private String province;
private String city;
private String town;
public Address(){};
public Address(String province, String city, String town) {
this.province = province;
this.city = city;
this.town = town;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getTown() {
return town;
}
public void setTown(String town) {
this.town = town;
}
@Override
public String toString() {
return "Address{" +
"province='" + province + '\'' +
", city='" + city + '\'' +
", town='" + town + '\'' +
'}';
}
}
ioc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="person" class="com.msb.bean.Person">
<property name="id" value="1"></property>
<property name="name" value="单"></property>
<property name="age" value="23"></property>
<property name="grender" value="男"></property>
<property name="address" ref="address"></property>
<property name="lists">
<list>
<bean class="com.msb.bean.Address">
<property name="city" value="广东"></property>
</bean>
<ref bean="address"></ref>
</list>
</property>
<property name="maps">
<map>
<entry key="a" value="d"></entry>
<entry key="address" value-ref="address"></entry>
<entry key="Address">
<bean class="com.msb.bean.Address">
<property name="city" value="广州"></property>
</bean>
</entry>
</map>
</property>
<property name="sets">
<set>
<value>zhangsan</value>
<value>zhangsan</value>
<value>上面是重复值</value>
</set>
</property>
<property name="properties">
<props>
<prop key="s" >fff</prop>
</props>
</property>
</bean>
<bean id="address" class="com.msb.bean.Address">
<property name="province" value="广东"></property>
<property name="city" value="汕头"></property>
<property name="town" value="潮阳关埠"></property>
</bean>
<!--可以通过abstract属性来定义抽象类,使对象无法实例化-->
<bean id="parent" class="com.msb.bean.Person" abstract="true">
<property name="id" value="1"></property>
<property name="name" value="单"></property>
<property name="age" value="23"></property>
<property name="grender" value="男"></property>
</bean>
<bean id="son" class="com.msb.bean.Person" parent="parent">
<property name="id" value="2"></property>
</bean>
<!--对象的创建时通过ioc.xml控制的,是按照配置文件顺序创建,若想改变,可通过depends-on产生依赖-->
<bean id="address2" class="com.msb.bean.Address" depends-on="person2"></bean>
<bean id="person2" class="com.msb.bean.Person"></bean>
</beans>
测试类MyTest.java
import com.msb.bean.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("ioc.xml");
Person person = applicationContext.getBean("person", Person.class);
System.out.println(person);
Person son = applicationContext.getBean("son", Person.class);
System.out.println(son);
}
}
**总结:**调用其他对象可以在标签内通过ref属性进行调用,ref也可以作为标签进行调用,数据类型是List时,可通过list标签进行赋值,Map时可通过map,Set可通过set,Propertie可通过props。
可以通过abstract属性来定义抽象类,使对象无法实例化
对象的创建时通过ioc.xml控制的,是按照配置文件顺序创建,若想改变,可通过depends-on产生依赖