gpt4 book ai didi

java - 如何从 JerseyTest 子类访问 Spring Bean

转载 作者:行者123 更新时间:2023-11-28 20:29:39 25 4
gpt4 key购买 nike

这是我的抽象类,它以给定的 Spring 上下文启动 Jersey:

public abstract class AbstractJerseyTest extends JerseyTest {

public void setUp() throws Exception {
super.setUp();
}

@AfterClass
public void destroy() throws Exception {
tearDown();
}

@Override
protected URI getBaseUri() {
return URI.create("http://localhost:9993");
}

@Override
protected Application configure() {
RestApplication application = new RestApplication();

Map<String, Object> properties = new HashMap<String, Object>();
properties.put(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
properties.put("contextConfigLocation", "classpath:spring-context-test.xml");

application.setProperties(properties);
application.register(this);
return application;
}
}

所以,问题是我需要从我的测试中访问 Spring bean 以用一些数据填充数据库。

Jersey 版本是2.6

我也发现了一个类似的问题here

但它与 Jersey 1.x 有关,所以它不适用于 Jersey 2.x

谁能指出我正确的方向?

最佳答案

解决方案非常简单。我补充说:

@Autowired
private Repository repository;

到 AbstractJerseyTest 并且该字段在测试启动期间自动 Autowiring 。我不知道它是如何工作的细节,但似乎当我在 REST 应用程序中注册测试实例时

application.register(this);

它会自动 Autowiring 测试中的所有 bean。

关于java - 如何从 JerseyTest 子类访问 Spring Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com