Я пытаюсь настроить тест Джерси (2.4), используя контекст Spring, используя профили Spring.Jersey 2.4 Test with Spring Context Profile - DI не работает
Мой тестовый класс это:
public class OrderControllerTest extends JerseyTest {
@Override
protected Application configure() {
enable(TestProperties.LOG_TRAFFIC);
enable(TestProperties.DUMP_ENTITY);
ApplicationResourceConfig config = new ApplicationResourceConfig();
config.property("contextConfigLocation", "classpath:spring-context.xml");
config.property("spring.profiles.active", "development");
return config;
}
...
Где ApplicationResourceConfig
класс это:
public class ApplicationResourceConfig extends ResourceConfig {
public ApplicationResourceConfig() {
register(RequestContextFilter.class)
.register(OrderController.class);
}
...
и OrderController
класс:
@Component
@Path("/order")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class OrderController {
@Autowired
private OrderService orderService;
@PUT
public Response createOrder(String order) {
return Response.ok().build();
}
...
Проблема заключается в том, что Д. не работает (orderService
- null
). DI хорошо работает в других тестах (не на основе Джерси). Я полагаю, что причина может быть, что весна профиль не загружен правильно, так как пружинные журналы говорят:
426 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Searching for key 'spring.profiles.active' in [systemProperties]
426 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Searching for key 'spring.profiles.active' in [systemEnvironment]
426 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Could not find key 'spring.profiles.active' in any property source. Returning [null]
Есть ли кто-нибудь, кто может представить предложения по этому вопросу, пожалуйста?
возможно дубликат [пружинные профилей и тестирования] (http://stackoverflow.com/questions/13364112/spring-profiles-and-testing) – nobeh
@nobeh Вы внимательно прочитайте мой вопрос? _ DI хорошо работает в других тестах (не на основе Джерси) _ – user2664655
Возможно, я ошибаюсь. Если проблема заключается в интеграции Jersey 2+ с Spring Java Config, взгляните на https://java.net/jira/browse/JERSEY-2038 – nobeh