问题

在做单元测试时,写了一个工具类,用于注入spring的上下文。

public class AppBeanUtil implements ApplicationContextAware  {

    private static ApplicationContext applicationContext;

    @Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(AppBeanUtil.applicationContext==null){
AppBeanUtil.applicationContext = applicationContext;
}
}

发现通过 AppBeanUtil 获取容器中的类时,发现这个setApplicationContext 方法并没有执行。

但是直接启动程序时,发现这个方法是可以执行的。

解决方法

在编写单元测试类时指定 启动类。

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {JpaasSysApplication.class})
public class CacheUtilTest { @Test
public void cacheTest(){
ICache cache=CacheUtil.getCache();
cache.set("name","ray");
String name= (String) cache.get("name");
System.err.println(name); }
}

这样springboot 就能够自动注入上下文。

springboot 单元测试 指定启动类的更多相关文章

  1. springboot 优雅的启动类

    优雅的sprongboot启动类 package fama.cost.server; import fama.cost.common.IStoppable; import fama.cost.comm ...

  2. springboot自定义SpringApplication启动类

    如果默认的SpringApplication不符合你的口味,你可以创建一个本地的实例并自定义它.例如,关闭banner你可以这样写: public static void main(String[] ...

  3. 【杂谈】SpringBoot为啥不用配置启动类

    前言 在学习SparkJava.Vert.x等轻量级Web框架的时候,都遇到过打包问题,这两个框架打包的时候都需要添加额外的Maven配置,并指定启动类才能得到可执行的JAR包: 而springboo ...

  4. SpringBoot无法书写主启动类的情况之一

    首先需要引入 spring-boot-starter-web 依赖[springboot web 项目 启动器 jar包]: 如果使用镜像请确保镜像路径正确,可参看笔者博客园m-yb的maven 安装 ...

  5. springboot单元测试 注入失败 空指针

    今天写代码,在test的类中@Autowired注入要测试的@Component类,但发现一运行就会报空指针异常java.lang.NullPointException,但发现使用new的方法的时候可 ...

  6. SpringBoot 应用程序启动过程探秘

    概述 说到接触 SpringBoot 伊始,给我第一映像最深的是有两个关键元素: 对照上面的典型代码,这个两个元素分别是: @SpringBootApplication SpringApplicati ...

  7. OWIN启动类检测

    每个OWIN应用程序都有一个启动类,可以在这个类里为应用程序管道指定组件.有不同的方式可以将启动类与运行时关联起来,这依赖于选择的托管模型(OwinHost,IIS,IIS-Express).本教程中 ...

  8. SpringBoot源码分析之---SpringBoot项目启动类SpringApplication浅析

    源码版本说明 本文源码采用版本为SpringBoot 2.1.0BUILD,对应的SpringFramework 5.1.0.RC1 注意:本文只是从整体上梳理流程,不做具体深入分析 SpringBo ...

  9. springboot系列(三) 启动类中关键注解作用解析

    一.Springboot:请求入口 @SpringBootApplication @EnableAspectJAutoProxy @EnableScheduling @EnableTransactio ...

随机推荐

  1. python client.py

    vi /Library/Frameworks/Python.framework/Versions//http/client.py vi /Library/Frameworks/Python.frame ...

  2. Glimma 包

    http://master.bioconductor.org/packages/3.9/bioc/html/Glimma.html 安装 if (!requireNamespace("Bio ...

  3. windows server 2008的系统备份

    添加windows server backup功能,打开运行“服务器管理器”->“功能”选项, 点击“添加功能”,选择“Windows Server Backup”,选择下一步安装该功能. 点击 ...

  4. 解决solr 请求参数过长报错too many boolean clauses Exception

    booleanClauses属性的意义 貌似是查询条件有几个逻辑判断而不是参数长度. 如下面两种情况 a:1 OR b:2 AND C:3那么此时booleanClauses=3 id(1 2 3 4 ...

  5. linux 操作文件夹

    创建文件夹[mkdir] 一.mkdir命令使用权限 所有用户都可以在终端使用 mkdir 命令在拥有权限的文件夹创建文件夹或目录. 二.mkdir命令使用格式 格式:mkdir [选项] DirNa ...

  6. Docker容器内部端口映射到外部宿主机端口 - 运维笔记

    Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射. 注意:宿主机的一个端口只能映射到容器内部的某一个端口 ...

  7. 【bat】判断字符串是否包含某字符串

    @echo off set a=55544333 set c=6666dfsfds set b=44 echo %a%| findstr %b% >nul && ( echo % ...

  8. SQL join 三种扩展用法

    以前学习,只知道  LEFT JOIN.RIGHT JOIN.INNER JOIN.FULL  JOIN,共四种集合,然而加上一些条件,可以组合成另外三种集合,直接上图.

  9. xunsearch安装

    1.下载 sudo wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 2.解压 sudo tar -xvjf x ...

  10. Python3注解+可变参数实现

    一.说明 1.1 关于注解 关于注解这个东西,最早是在大学学java的时候经常会看到某些方法上边@override之类的东西,一方面不知道其作用但另一方面似乎去掉也没什么影响,所以一直都不怎么在意. ...