1.创建entity(Apple、Child)
package com.imooc.spring.ioc.entity;
public class Apple
{
private String title;
private String color;
private String origin;
public Apple()
{
}
public Apple(String title, String color, String origin)
{
this.title = title;
this.color = color;
this.origin = origin;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public String getColor()
{
return color;
}
public void setColor(String color)
{
this.color = color;
}
public String getOrigin()
{
return origin;
}
public void setOrigin(String origin)
{
this.origin = origin;
}
}
package com.imooc.spring.ioc.entity;
public class Child
{
private String name;
private Apple apple;
public Child()
{
}
public Child(String name, Apple apple)
{
this.name = name;
this.apple = apple;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Apple getApple()
{
return apple;
}
public void setApple(Apple apple)
{
this.apple = apple;
}
public void eat()
{
System.out.println(name + "吃到了" + apple.getOrigin() + "种植的" + apple.getTitle());
}
}
2.在applicationContext.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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--在Ioc容器启动时,自动由Spring实例化Apple对象,取名为sweetApple放到容器中-->
<bean id="sweetApple" class="com.imooc.spring.ioc.entity.Apple">
<property name="title" value="红富士"/>
<property name="origin" value="欧洲"/>
<property name="color" value="红色"/>
</bean>
<bean id="sourApple" class="com.imooc.spring.ioc.entity.Apple">
<property name="title" value="青苹果"/>
<property name="origin" value="中亚"/>
<property name="color" value="绿色"/>
</bean>
<bean id="softApple" class="com.imooc.spring.ioc.entity.Apple">
<property name="title" value="金帅"/>
<property name="origin" value="中国"/>
<property name="color" value="黄色"/>
</bean>
<bean id="rdApple" class="com.imooc.spring.ioc.entity.Apple">
<property name="title" value="蛇果"/>
<property name="origin" value="美国"/>
<property name="color" value="红色"/>
</bean>
<bean id="lily" class="com.imooc.spring.ioc.entity.Child">
<property name="name" value="莉莉"/>
<property name="apple" ref="sweetApple"/>
</bean>
<bean id="andy" class="com.imooc.spring.ioc.entity.Child">
<property name="name" value="安迪"/>
<property name="apple" ref="rdApple"/>
</bean>
<bean id="luna" class="com.imooc.spring.ioc.entity.Child">
<property name="name" value="露娜"/>
<property name="apple" ref="softApple"/>
</bean>
</beans>
3.在SpringApplication中测试
package com.imooc.spring.ioc;
import com.imooc.spring.ioc.entity.Apple;
import com.imooc.spring.ioc.entity.Child;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringApplication
{
public static void main(String[] args)
{
//创建SpringIoc容器,并根据配置文件在容器中实例化
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
Apple sweetApple = context.getBean("sweetApple", Apple.class);
System.out.println(sweetApple.getTitle());
Child lily = context.getBean("lily", Child.class);
lily.eat();
Child andy = context.getBean("andy", Child.class);
andy.eat();
Child luna = context.getBean("luna", Child.class);
luna.eat();
}
}
4.测试结果