开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情
写在前面
作为一个java程序员,spring应该都不会陌生了吧?
对于大部分程序员来说,spring的入门,估计跑起一个框架,熟悉一下开发的流程,基本上就掌握spring框架的开发了。
随着开发年限的变大,我们不能仅仅是掌握到这个地步,更应该深入的学习spring框架。
这不,接下来就是spring框架的学习之旅了,希望可以帮助到大家。
一、整合Junit
1.1 单元测试问题
在测试类中,每个测试方法都有以下两行代码:
ApplicationContext Ctx = new ClasspathXmlApplicationContext("springStudy.xml");
UserService service = context.getBean(UserService.class);
- 我们使用单元测试要测试的是业务问题,以上两段代码明显不是业务代码。
- 但是这两行代码的怍用是获取容器,如果不写的话,直接会提示空指针异常,所以又不能轻易删掉。
1.2 解决思路分析
针对上述问题,我们需要的是程序能自动帮我们创建容器。一旦程序能自动为我们创建spring 容器,我们就无须手动创建了,问题也就解决了。
但紧接的问题就是junit它本身不认识spring ,更无法帮助创建Spring容器了,不过好在Junit给我们暴露了一个注解( @RunWith) , 可以让我们替换掉它的运行器。
这时,我们需要依靠 spring 框架,因为它提供了一个运行器,可以读取配置文件(或注解)来创建容器。我们只需要告诉它配置文件在哪就行了。
1.3 具体实现
- 第一步:添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
- 第二步:通过@RunWith注解, 指定spring的运行器
spring的运行器是SpringJunit4ClassRunner
-
第三步: 通过@ContextConfiguration注解,指定spring运行器需要的配置文件路径
-
第四步:通过@Autowired注解给测试类中的变量注入数据
@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationXml.xml")
public class TestStringJunit {
@Autowired
UserService userService;
@Test
public void saveUser(){
userService.saveUser();
}
}
好了,以上就是Spring学习之旅-组件支撑篇(1) 的全部内容了。
今天就先到这里了,后面的内容,留下次分享了,先溜了!!!^_^
如果觉得写得不错的,帮忙点赞、评论、收藏一下呗!!!