Java spring云功能可以访问任何spring托管组件吗?

Java spring云功能可以访问任何spring托管组件吗?,java,spring-boot,azure-functions,spring-cloud-function,Java,Spring Boot,Azure Functions,Spring Cloud Function,我正在使用Azure函数开发spring云函数。 是否可以在“处理程序”(扩展AzureSpringBootRequestHandler)中使用任何spring托管组件 我试图通过示例项目缩小范围: 所以我能想到的最简单的例子是: public class UppercaseHandler extends AzureSpringBootRequestHandler<String, String> { private final UppercaseService upperc

我正在使用Azure函数开发spring云函数。 是否可以在“处理程序”(扩展AzureSpringBootRequestHandler)中使用任何spring托管组件

我试图通过示例项目缩小范围:

所以我能想到的最简单的例子是:

public class UppercaseHandler extends AzureSpringBootRequestHandler<String, String> {

   private final UppercaseService uppercaseService;

   @Autowired
   public UppercaseHandler (UppercaseService uppercaseService){
      this.uppercaseService = uppercaseService;
   }

    @FunctionName("uppercase")
    public String execute(@HttpTrigger(name = "req", methods = {HttpMethod.GET,
            HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
        ExecutionContext context) {
        return handleRequest(request.getBody().get(), context);
    }
}
公共类UppercaseHandler扩展AzureSpringBootRequestHandler{
私人最终个案服务最高个案服务;
@自动连线
公共高级处理程序(高级服务高级服务){
this.uppercaseService=uppercaseService;
}
@FunctionName(“大写”)
公共字符串execute(@HttpTrigger(name=“req”,methods={HttpMethod.GET,
HttpMethod.POST},authLevel=AuthorizationLevel.ANONYMOUS)HttpRequestMessage请求,
ExecutionContext(上下文){
返回handleRequest(request.getBody().get(),context);
}
}
然而,看起来这个处理程序不是由spring管理的,并且不能与自动连接一起工作。
如果能得到帮助就太好了,谢谢

您正在尝试在Azure函数HTTP请求处理程序(一个特定于云提供商的非常薄的适配器)中使用Spring自动连接,该适配器在Spring函数外部解耦。这就是为什么它在那里不起作用。适配器中不应有任何业务逻辑。但是,如果您在任何Spring控制器/服务中使用DI,它将像在常规Spring引导应用程序中一样工作


您可以查看这篇便利的博文。

感谢您的反馈,关于请求传播的图片说明了这一点。是否可以在Azure函数中发送重定向?不确定是否可以按照您说的“在Azure函数中发送重定向”来发送重定向,谢谢!