Spring练习一,控制反转IOC将对象的创建以及对象直接的依赖关系反转给Spring 容器

1.引入需要的jar包

2.创建两个实体类person和dog

package ioc.day1;

public class M_Dog {
	private String name;
	private int age;
	public M_Dog() {
		super();
		System.out.println("dog.....无参构造器");
	}
	public M_Dog(String name, int age) {
		super();
		this.name = name;
		this.age = age;
		System.out.println("dog.....有参构造器");
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
		System.out.println("dog.....set方法");
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "M_Dog [name=" + name + ", age=" + age + "]";
	}
	
}	
package ioc.day1;

public class M_person {
	private String name;
	private int age;
	private M_Dog dog;
	public M_person() {
		System.out.println("person.....无参构造器");
	}
	public M_person(String name, int age, M_Dog dog) {
		super();
		this.name = name;
		this.age = age;
		this.dog = dog;
		System.out.println("person.....有参构造器");
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
		System.out.println("person.....set方法");
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public M_Dog getDpg() {
		return dog;
	}
	public void setDpg(M_Dog dog) {
		this.dog = dog;
	}
	@Override
	public String toString() {
		return "M_person [name=" + name + ", age=" + age + ", dog=" + dog + "]";
	}
	
}

3.配置xml文件,用来给spring创建对象

<?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:c="http://www.springframework.org/schema/c"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">
     <!-- set注入,利用set方法传值 -->
    <bean name="M_dog" class="ioc.day1.M_Dog">
        <property name="Name" value="大黄"></property>
        <property name="Age" value="5"></property>
    </bean>
    <!-- 利用构造器传参,不写参数默认调用无参构造器 -->
    <bean id="person" class="ioc.day1.M_person" >
        <constructor-arg name="name" value="zhangsan"></constructor-arg>
        <constructor-arg name="age" value="21"></constructor-arg>
        <constructor-arg name="dog" ref="M_dog"></constructor-arg>
    </bean>
    
</beans>

4.利用JUnit4创建测试类来测试

package spring_jd2007;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import ioc.day1.M_person;

public class Myday1_Test {
	@Test
	public void show() {
		ApplicationContext ac = new ClassPathXmlApplicationContext("ioc/day1/di/construcor/myday1.xml");
		M_person person1 =  ac.getBean("person",M_person.class);
		System.out.println("------------------");
		System.out.println(person1);
	}
}

5.测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值