package com.hanqi.test;
public class Car {
private String carNumber;
public String getCarNumber() {
return carNumber;
}
public Car() {
super();
}
public Car(String carNumber) {
super();
this.carNumber = carNumber;
}
@Override
public String toString() {
return "Car [carNumber=" + carNumber + "]";
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
}
package com.hanqi.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestPerson {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//1加载容器
ApplicationContext ac=new ClassPathXmlApplicationContext("abc.xml");
//2从容其中获取对象
Person p1=(Person)ac.getBean("p1");
System.out.println(p1);
Person p2=(Person)ac.getBean("p2");
System.out.println(p2);
Person p3=(Person)ac.getBean("p3");
System.out.println(p3);
Person p5=(Person)ac.getBean("p5");
System.out.println(p5);
Person p6=(Person)ac.getBean("p6");
System.out.println(p6);
Person p6_1=(Person)ac.getBean("p6");
System.out.println(p6_1);
if(p6==p6_1)
{
System.out.println("asd");
}
Person p8=(Person)ac.getBean("p8");
System.out.println(p8);
}
}
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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
<bean id="car1" class="com.hanqi.test.Car">
<property name="carNumber" value="lucc550"></property>
</bean>
<bean id="p1" class="com.hanqi.test.Person">
<constructor-arg name="name" value="zhangsan"></constructor-arg>
<constructor-arg name="age" value="30"></constructor-arg>
<property name="car" ref="car1"></property>
<property name="bankcards">
<list>
<value>1234</value>
<value>2234</value>
<value>3234</value>
</list>
</property>
</bean>
<util:list id="card1">
<value>123</value>
<value>123</value>
<value>123</value>
</util:list>
<!-- 使用p标签 -->
<bean id="p2" class="com.hanqi.test.Person" p:name="李四"
p:age="20" p:car-ref="car1" p:bankcards-ref="card1"></bean>
<!-- 自动装配 -->
<bean id="p3" class="com.hanqi.test.Person"
autowire="byType"></bean>
<bean id="p5" parent="p1" p:name="小三" p:age="18"></bean>
<!-- 定义模板 ,只能被继承,不能被外部使用-->
<bean id="m1" class="com.hanqi.test.Person" p:name="默认" abstract="true"
p:age="20" p:car-ref="car1" p:bankcards-ref="card1"></bean>
<bean id="p6" parent="m1" p:name="小四" p:age="24"></bean>
<!-- 默认是单例的 -->
<bean id="p7" parent="m1" scope="prototype" p:name="小四" p:age="24"></bean>
<!-- 加载外部配置文件 -->
<context:property-placeholder location="classpath:person.properties"/>
<bean id="p8" class="com.hanqi.test.Person"
p:name="${name}" p:age="${age}">
</bean>
</beans>
package com.hanqi.test;
import java.util.List;
public class Person {
private String name;
private int age;
private List<String> bankcards;
private Car car;
public Person() {
super();
System.out.println("person被实例化了");
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", bankcards=" + bankcards + ", car=" + car + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getBankcards() {
return bankcards;
}
public void setBankcards(List<String> bankcards) {
this.bankcards = bankcards;
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
}
外部配置文件 person.properties
name=tom age=20