我试图在xconfiguration.java中创建以下bean:
@Bean
public RestTemplate xRestTemplate(@Qualifier("restTemplateBuilder") RestTemplateBuilder restTemplateBuilder) throws FileNotFoundException {
return AdfsRestTemplate.builder()
.restTemplateBuilder(restTemplateBuilder)
.adfsClientTokenProvider(getXTokenProvider())
.build();
}
private AdfsClientTokenProvider getXTokenProvider() throws FileNotFoundException{
return AdfsClientTokenProvider.builder().id("config-credentials").providerUrl(providerUrl)
.clientId(clientId).resourceUri(protectedResourceUri)
.enableX509CertificateAuthentication(
AdfsKeystoreUtil.getKeystore(keyStore),
AdfsKeystoreUtil.getPassword(keyStorePassword),
AdfsKeystoreUtil.getAlias(certAlias))
.build();
}
我在这里注射:
@Autowired
@Qualifier("xRestTemplate")
private RestTemplate restTemplate;
但我有个错误:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method xRestTemplate in xxx.XConfiguration required a bean of type 'org.springframework.boot.web.client.RestTemplateBuilder' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
- @org.springframework.beans.factory.annotation.Qualifier(value="xRestTemplate")
Action:
Consider defining a bean of type 'org.springframework.boot.web.client.RestTemplateBuilder' in your configuration.
有人能告诉我发生了什么配置问题吗?我想我可以使用spring的默认restemplatebuilder?
我使用的是springframework:2.4.3
更新:我做了以下工作,创建了一个返回restemplatebuilder的新bean,并将其连接到我的xrestemplate方法中。customresttemplatebuilder.java
@Configuration
public class CustomRestTemplateBuilder {
@Bean("restTemplateBuilder")
public RestTemplateBuilder getRestTemplateBuilder() {
return new RestTemplateBuilder();
}
}
现在它抛出这个错误:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'xQueryService': Unsatisfied dependency expressed through field 'restTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xRestTemplate' defined in class path resource [XXX/XConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.client.RestTemplate]: Factory method 'xRestTemplate' threw exception; nested exception is java.lang.NullPointerException
暂无答案!
目前还没有任何答案,快来回答吧!