问题
在做单元测试时,写了一个工具类,用于注入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 就能够自动注入上下文。
转载于:https://www.cnblogs.com/yg_zhang/p/10937727.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)