第一步创建 测试工程
在项目顶层右键 根据 New -> Module 进行点击
点击后会弹出
我们选择 Gradle + Java 点击 Next
在完成工程创建后我们需要来创建几个基本的类和配置文件.
在 build.gradle
文件中加入依赖: spring-context 、spring-core . 这两个依赖是 Spring 容器的最小依赖. 后续可以在这个基础上添加其他的 spring 依赖来进行环境搭建.
plugins {
id 'java'
}
group 'org.springframework'
version '5.2.3.RELEASE'
repositories {
mavenCentral()
}
dependencies {
compile(project(":spring-context"))
compile(project(":spring-core"))
testCompile("org.junit.jupiter:junit-jupiter-api")
testCompile("org.junit.jupiter:junit-jupiter-params")
}
test {
useJUnitPlatform()
}
**注意笔者这里是使用源码环境进行工程创建, 所以这里笔者不需要使用 compile group: 'org.springframework', name: 'spring-core', version: '5.2.3.RELEASE'
这样的语法, 各位读者请自行选择具体的使用方式. **
在完成基本的 build.gradle
配置后我们开始编写测试代码. 创建一个最小的 Bean 实体, 配置 xml 从容器中读取.
下面笔者将代码全部贴出, 读者可以自行阅读, 或对其进行修改.
public class PeopleBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
<?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.xsd">
<bean id="people" class="com.source.hot.ioc.book.pojo.PeopleBean">
<property name="name" value="zhangsan"/>
</bean>
</beans>
class FirstIoCDemoTest {
@Test
void testIoC() {
ClassPathXmlApplicationContext context
= new ClassPathXmlApplicationContext("META-INF/first-ioc.xml");
PeopleBean people = context.getBean("people", PeopleBean.class);
String name = people.getName();
assumeTrue(name.equals("zhangsan"));
}
}
当前目录结构
在基本测试用例中笔者采用了 ClassPathXmlApplicationContext
类用来做容器对象, 但其实在 Spring 中还有其他的几个可以作为容器对象的类, 如 FileSystemXmlApplicationContext
、 XmlBeanFactory
, 不过在这两个类中 XmlBeanFactory
已经被废弃了, 虽然被标记了 @Deprecated
注解但我们开始可以使用
XmlBeanFactory
废弃标记
/**
*
as of Spring 3.1 in favor of {@link DefaultListableBeanFactory} and
* {@link XmlBeanDefinitionReader}
*/
@Deprecated
@SuppressWarnings({ "serial", "all" })
public class XmlBeanFactory extends DefaultListableBeanFactory {}
说了这么多笔者将剩下两个类的测试用例贴出来
XmlBeanFactory
测试用例@Test
void testXmlBeanFactory() {
XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("META-INF/first-ioc.xml"));
PeopleBean people = beanFactory.getBean("people", PeopleBean.class);
String name = people.getName();
assumeTrue(name.equals("zhangsan"));
}
FileSystemXmlApplicationContext
测试用例注意: 在使用 FileSystemXmlApplicationContext
需要输入全路径或者相对路径. 笔者这里的全路径是"D:\\desktop\\git_repo\\spring-ebk\\spring-framework-read\\spring-source-hot-ioc-book\\src\\test\\resources\\META-INF\\first-ioc.xml"
读者可以根据自己的路径地址进行修改.
@Test
void testFileSystemXmlApplicationContext() {
FileSystemXmlApplicationContext context
= new FileSystemXmlApplicationContext("D:\\desktop\\git_repo\\spring-ebk\\spring-framework-read\\spring-source-hot-ioc-book\\src\\test\\resources\\META-INF\\first-ioc.xml");
PeopleBean people = context.getBean("people", PeopleBean.class);
String name = people.getName();
assumeTrue(name.equals("zhangsan"));
}
从我们的用例上不难发现它至少具备了这样几个功能.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。