当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Boot中更改ProviderSignInController中的属性signUpUrl

卓正业
2023-03-14

总之

我需要更改spring boot的自动配置中定义的bean的属性值,该属性值不可从<code>应用程序进行配置。属性

描述的

我想更改Bean ProviderSignInControllersignUpUrl。根据文档,这不能在属性文件中进行更改。

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应该是可用的

https://github . com/spring-projects/spring-boot/blob/master/spring-boot-auto configure/src/main/Java/org/spring framework/boot/auto configure/social/social web auto configuration . Java

如果我做得不对,请帮助和指导我。

共有1个答案

樊浩初
2023-03-14

该错误描述了问题在于您没有在<code>configureProviderSignInController

@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文档中关于启用提供商登录的内容。

 类似资料:
  • 我有一个带有子组件的组件。 在时间轴组件中,我有这些属性: 如何检查何时从时间轴组件对属性进行更改?每当编辑值发生更改时,我都需要发出该值。 我应该为编辑属性使用一个setter,然后从那里发出吗? 或者有其他方法吗?

  • 问题内容: 现在,我有一个背景图像URL硬编码到CSS中。我想使用AngularJS中的逻辑动态选择背景图片。这是我目前拥有的: HTML CSS 如您所见,CSS中的背景图像引用了特定的文件位置。我希望能够以编程方式确定图像URL的位置。我真的不知道从哪里开始。我不知道JQuery。谢谢。 问题答案: 您可以使用ng-style使用AngularJS动态更改CSS类属性。 希望这个ng样式的示例

  • 我如何在android studio中动态设置src属性(第7行),我尝试更改backgroundResource,但结果不一样 XML文件 Java代码

  • 我有一个,我想更改下划线输入边框的颜色和厚度,因为它看起来像厚度。我试着改变我的水平,但它根本不起作用。 我已经按照这些链接,但没有为我工作: 在颤振中输入装饰类 颤振输入边界类 更改textfield下划线颜色的步骤 到目前为止,已审理的案件有: 代码: 这里唯一能起作用或改变颜色的是和。我不想这样,所以我期待着在这里得到一些好的建议。 这不会改变任何事情。我想要的是: 到目前为止,无论我对设计

  • 假设我有一个名为Ben的属性文件,其中包含以下属性: 我通过在测试步骤中键入其相对路径手动将此属性文件导入属性测试步骤。然后我有一个测试用例,它从文件中输入名称并确保它返回的输出是正确的头发和眼睛。现在,我想测试的不仅仅是一个人。假设我有另一个名为Jake的属性文件: 如果我想切换属性文件,我知道的唯一方法是在我想运行新测试时手动输入该属性文件的路径。我有没有办法实现一个Groovy脚本,在属性测