一、导包:
首先下载Spring环境搭建所需文件
密码:472y
创建一个动态web项目后,把所需的包导入到WEB-INF下的lib中:
一共六个包,其中log4j
这个包在新版本的spring中已经不需要导了,只是在低版本的spring中才需要导入。
二、创建一个对象:
我在src
下创建了一个包com.zl.bean
,在这个包中创建了一个User
类。
package com.zl.bean;
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
三、书写配置文件:
配置文件的作用:把User
对象注册到容器。
在src
根目录下创建名为applicationContext.xml
的XML
文件。
注意:这个配置文件可以创建在任意地方,文件名也可以任意,但是上面那种做法是规范的做法,推荐使用。
<?xml version="1.0" encoding="UTF-8"?>
<!-- 导入约束 -->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
<!-- 将User对象交给spring管理 -->
<bean name="user" class="com.zl.bean.User"></bean>
</beans>
其中导入约束部分,着重在第四部分详细叙述:
四、导入约束:
1)先打开window---preferences---XML---XML Catalog
,然后点击Add
2)然后点击File System
,找到约束文件,然后把Key type
的值改成Schema location
,最后在Key
的后面加上Location
的路径最后的值,如图中圈出来的。
3)点击OK
。
4)在配置文件中编写<beans></beans>
标签,然后点击左下角的Design
。
5)选中beans
,鼠标右击,选择Edit Namespaces
。
6)点击Add
。
7)选中xsi
,打钩,然后点击OK
。
8)再次点击Add
。
9)选择specify new namespace
,然后点击Browse
。
10)选择select xml catalog entry
,然后在xml catalog
中找到直接导入的约束。如图红色圈出部分,然后点击OK
。
11)把location hint
中圈出部分复制到namespace name
中。
12)点击OK
。
13)点击OK
。
至此,约束导入完毕,接下来将对象配置到容器中。
在xml
中,编写上述红色圈出部分代码。
其中,name
属性,可任意取名,这里我写的user
class
属性的值为User
实体的完全类名。
五、书写测试代码:
在src
下建立一个包com.zl.a_hello
包,然后在包中建立一个测试类Demo
.
package com.zl.a_hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zl.bean.User;
public class Demo {
@Test
public void fun1(){
//1.创建容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//2.想容器“要”user对象
User u = (User) ac.getBean("user");
//3.打印user对象
System.out.println(u);
}
}