1) 新建工程,选择Spring,将项目的名称命名为SpringIOC;
2) 下载spring-framework,下载地址为http://repo.springsource.org/libs-release-local/org/springframework/spring/3.2.4.RELEASE/spring-framework-3.2.4.RELEASE-dist.zip ,直接输入地址,修改想要下载的版本即可。下载完成后打开libs文件夹,找到如下四个jar包,导入到项目里面。此外还需要下载log4j和commons-logging两个包,否则运行的时候控制台没有信息输出;
包导入项目的方法为:点击file->Project Structure->Modules->Dependencies,找到下载好的jar包的存放路径,导入即可:
3) 在src下新建一个spring的xml配置文件,官方建议这个配置文件的名称为applicationContext.xml,但实际上我们可以随意命名,这里命名为Bean.xml。xml文件创建成功后,我们可以在从spring-framework文件夹里找一段xml代码复制进去,打开下载的spring-framework文件,进入\docs\spring-framework-reference\html,选择最后一个xsd-configuration.html文件,用浏览器打开,复制如下内容:
<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">
</beans>
4) 创建一个package,名为com.demo.ioc,在创建一个Person类,相当于一个bean:
package com.demo.ioc;
public class Person {
private String name;
private int age;
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;
}
}
5) 对spring配置文件配置bean信息,在Bean.xml中添加如下代码:
<bean id="person" class="com.demo.ioc.Person">
<property name="name" value="myl"></property>
<property name="age" value="15"></property>
</bean>
意为创建一个bean,与Person类绑定,这个bean的id为person,标签意为给bean的变量赋值。
6) 测试代码,其中(Person)context.getBean(“person”);此处的person要与Bean.xml中的的id相同,表示要在Bean.xml中取对象的bean的名字。代码如下:
package com.demo.ioc;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class IOCTest {
@Test
public void textUser(){
//读取配置文件实例化一个IOC容器
ApplicationContext context=new ClassPathXmlApplicationContext("Bean.xml");
//从容器中获取对象
Person person=(Person)context.getBean("person");
System.out.println(person);
System.out.println(person.getName());
System.out.println(person.getAge());
}
}
7) 最后效果如下: