- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简而言之
我需要更改 Spring Boot 自动配置中定义的 bean 的属性值,该属性无法从 application.properties
进行配置
描述性
我想更改 bean ProviderSignInController
的 signUpUrl
。根据文档,这是无法在属性文件中更改的。
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
所以我做了这样的事情。
@Configuration
public class SomeConfig {
@Autowired
public void configureProviderSignInController(ProviderSignInController signInController){
signInController.setSignUpUrl("/register");
}
最终出现以下错误
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.social.connect.web.ProviderSignInController] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1301)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1047)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
但是根据自动配置,这个bean应该可用
如果我做错了,请帮助和指导我。
最佳答案
该错误描述问题是您没有在 configureProviderSignInController
的方法签名中实例化类型为 ProviderSignInController
的 bean。相反,您需要使用 Controller 所需的正确构造函数签名在您的配置之一中实例化和配置 Controller :
@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;
}
}
或者,如果您使用 XML 配置:
<bean class="org.springframework.social.connect.signin.web.ProviderSignInController">
<!-- relies on by-type autowiring for the constructor-args -->
<property name="signUpUrl" value="/register" />
</bean>
欲了解更多信息,请参阅 Spring Social docs on enabling provider sign in .
关于java - 如何在Spring Boot中更改ProviderSignInController中的属性signUpUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943071/
我正在尝试使用Spring社交核心插件编写grails插件。我得到了提供程序弹出窗口,在输入用户名和密码后,它给了我404。在调试代码时,它进入了SpringSocialProviderSignInC
我是一名优秀的程序员,十分优秀!