按照老方法
创建maven项目,添加依赖,并写入Junit和spring核心的依赖
接着添加Spring的配置文件
项目架构
在base包建立一个User类,创建两个属性,并构建它们的Set方法
package base;
public class User {
public String name;
public String from;
public void setName(String name) {
this.name = name;
}
public void setFrom(String from) {
this.from = from;
}
}
在Spring.xml文件中 写入Bean节点 添加<property>子节点,为属性赋值。
其中name是User中set方法右侧的名称,value为具体的值,如果value的值是对象类型,先配置对象的Bean节点,再通过REF引用节点的ID
<bean id="user"
class="base.User">
<property name="name" value="Mike" />
<property name="from" value="Beijing" />
</bean>
在src/test/java下创建test包用来存放测试类,并创建一个TestCase类
添加以下代码
一个有三个注解,首先是@Test,它是用来标注Junit的测试方法,相当于Main方法。
@Before:所有拦截方法执行之前执行一段逻辑,标注初始化方法
@After: 所有拦截方法执行之后执行一段逻辑,一般用于释放资源
这里将ApplicationContext的变量设为全局变量,是为了以后进行测试的时候避免重复实现该接口
在使用完资源后,我们都得关闭资源,这是为了避免某个资源没有处于使用状态依旧保持连接,JVM就不会通知Gc回收器来回收该对象导致的内存溢出的风险。
package test;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import base.User;
import extra.Person;
import extra.SampleBean;
public class TestCase {
private AbstractApplicationContext ac;
@Test
public void information() {
User u1 = ac.getBean("user", User.class);
System.out.println(u1.from);
System.out.println(u1.name);
}
@Before
public void doBefore() {
ac = new ClassPathXmlApplicationContext("spring.xml");
}
@After
public void doAfter() {
ac.close();
}
}
于此,就可以得到测试结果
同样,我们还可以用Set方法为数组和集合赋值
方法与上面步骤类同,不过需要注意的是,在配置XML文件的Bean属性的<property>节点需要用对应类型的节点添加<value>
比如LIst集合和数组是
<property name="xxx">
<list>
<value>xx</value>
<value>xx</value>
<value>xx</value>
<value>xx</value>
</list>
</property>
Set集合是
<property name="xx">
<set>
<value>xx</value>
<value>xx</value>
<value>xx</value>
</set>
</property>
Map集合是
<property name="xxx">
<map>
<entry key="xx" value="xx" />
<entry key="xx" value="xx" />
<entry key="xx" value="xx" />
</map>
</property>