如何将Bean定义为`RestTemplate`?

时间:2019-02-14 10:11:26

标签: micronaut

我正在尝试使用RestTemplate中的Spring-client

我不能使用RestTemplate,因为此类没有bean

 public BusinessBankingTemplate(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }

我试图找到一些文档,例如 https://docs.micronaut.io/latest/guide/index.html#factories

但是我仍然不知道如何在Java语言上实现它

这是我的错误日志。

Message: No bean of type [org.springframework.web.client.RestTemplate] exists. Ensure the class is declared a bean and if you are using Java or Kotlin make sure you have enabled annotation processing.
Path Taken: new TransactionCheckerJob(BcaService bcaService,Oauth2Template oauth2Template,[BusinessBankingTemplate businessBankingTemplate]) --> new BusinessBankingTemplate([RestTemplate restTemplate])
        at io.micronaut.context.AbstractBeanDefinition.getBeanForConstructorArgument(AbstractBeanDefinition.java:981)
        at bank.transaction.service.impl.$BusinessBankingTemplateDefinition.build(Unknown Source)
        at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1331)
        at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:1914)
        at io.micronaut.context.DefaultBeanContext.getBeanForDefinition(DefaultBeanContext.java:1635)

1 个答案:

答案 0 :(得分:0)

在尝试查找一些文档后,我从《 micronaut用户指南》中发现了一种可以将其他类注册到bean的功能。

@Factory
public class RestTemplateFactory {

    @Bean
    @Singleton
    public RestTemplate v8Engine() {
      return new RestTemplate();
    }
}

此代码运行良好:)