xUnit icon indicating copy to clipboard operation
xUnit copied to clipboard

与spring结合的最佳实践有吗?

Open Youkoo opened this issue 7 years ago • 1 comments

1、在启动spring项目的时候加载xunit图的demo,而不是每次都load 2、能直接获取spring注入的对象吗?

Youkoo avatar Mar 07 '18 12:03 Youkoo

有什么好的办法吗?

hanbing avatar Aug 27 '18 08:08 hanbing

`public class SpringContextHolder implements ApplicationContextAware {

private static ApplicationContext applicationContext;

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

public static ApplicationContext getApplicationContext() {
    assertApplicationContext();
    return applicationContext;
}
@SuppressWarnings("unchecked")
public static <T> T getBean(String beanName) {
    assertApplicationContext();
    return (T) applicationContext.getBean(beanName);
}

public static <T> T getBean(Class<T> tClass) {
    assertApplicationContext();
    return (T) applicationContext.getBean(tClass);
}

private static void assertApplicationContext() {
    if (null == SpringContextHolder.applicationContext) {
        throw new RuntimeException("applicationContext为空,请检查是否注入springContextHolder");
    }
}

}`

在xunit里面用SpringContextHolder.getBean()这种方式可以获取spring容器里面的了

skyice2013 avatar Aug 27 '18 16:08 skyice2013