Spring 1

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

  

posted @ 2016-12-14 14:25  削肾客  阅读(241)  评论(0编辑  收藏  举报