我有一个spring boot Web应用程序,我想使其与vert.x而不是Tomcat一起使用。我正在尝试使用@PathVariable和@RequestBody开发Get / Post等批注。实际上我可以使它们工作,但是在vertical中注册控制器时会遇到问题。 假设我有一些控制器
@Component
public class TestController {
@Resource
private TestService testService;
@GET("/test")
public void test(RoutingContext ctx) {
//testService.doSmth();
ctx.response().end("Hello!");
}
}
当我向新操作员注册时,我的注释处理工作正常,但是我在TestController中使用服务方法,并且丢失了Spring DI。
@Component
public class SimpleREST extends AbstractVerticle {
@Override
public void start() {
Router router = AnnotatedRouter.create(vertx, new TestController());
vertx.createHttpServer().requestHandler(router::accept).listen(9003);
}
}
当我尝试像这样使用spring DI时,从测试方法获取注释的方法返回空,并且带有注释的路由失败。
@Resource
private TestController testController;
Router router = AnnotatedRouter.create(vertx, testController);
我已经看到Spring AOP有一些类似的问题,但是这里没有AOP。丢失方法注释的原因可能是什么?