简而言之
我需要更改弹簧启动的自动配置中定义的bean的属性值,这不能从application.properties
配置
描述
我想更改bean signUpUrl
的{{1}}。根据文档,这在属性文件中无法更改。
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
所以我做了这样的事情。
ProviderSignInController
并最终出现以下错误
@Configuration
public class SomeConfig {
@Autowired
public void configureProviderSignInController(ProviderSignInController signInController){
signInController.setSignUpUrl("/register");
}
但根据自动配置,这个bean应该可用
如果我做错了,请帮助并帮助我。
答案 0 :(得分:2)
该错误描述的问题是您没有在Run -> Run Configurations -> Maven Install
的方法签名中实例化类型为ProviderSignInController
的bean。相反,您需要在一个配置中使用控制器所需的正确构造函数签名来实例化和配置控制器:
configureProviderSignInController
或者,如果您使用的是XML配置:
@Configuration
@EnableSocial
public class SocialConfig implements SocialConfigurer {
...
@Bean
public ProviderSignInController providerSignInController(
ConnectionFactoryLocator connectionFactoryLocator,
UsersConnectionRepository usersConnectionRepository) {
ProviderSignInController controller = new ProviderSignInController(
connectionFactoryLocator, usersConnectionRepository,
new SimpleSignInAdapter());
controller.setSignUpUrl("/register");
return controller;
}
}