为play框架和spring定制secureSocial(依赖注入)

时间:2013-12-08 08:20:27

标签: java spring playframework playframework-2.0 securesocial

我使用安全的社交版2.0.13 for Play 2.0.6 with play and spring。 我从类型安全教程下载了项目模板,并使用来自http://securesocial.ws/guide/getting-started.html的指南添加了安全的社交模板 然后我用我的版本替换了登录名和模板,因为我需要没有注册的登录页面。所以我将登录信息及其模板复制到我的自定义软件包中,然后从中删除了注册标记。 问题是当我启动我的应用程序并请求一个URL时,我遇到了这个错误:

[error] play - Cannot invoke the action, eventually got an error: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [securesocial.core.java.SecureSocial$Secured] is defined[error] application -

! @6gfok11pe - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[NoSuchBeanDefinitionException: No qualifying bean of type [securesocial.core.java.SecureSocial$Secured] is defined]]
        at play.api.Application$class.handleError(Application.scala:293) ~[play_2.10.jar:2.2.0]
        at play.api.DefaultApplication.handleError(Application.scala:399) [play_2.10.jar:2.2.0]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$2$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:261) [play_2.10.jar:2.2.0]

        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$2$$anonfun    $applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:261) [play_2.10.jar:2.2.0]

        at scala.Option.map(Option.scala:145) [scala-library.jar:na]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$2.applyOrE  lse(PlayDefaultUpstreamHandler.scala:261) [play_2.10.jar:2.2.0]
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No q    ualifying bean of type [securesocial.core.java.SecureSocial$Secured] is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListablBeanFactory.java:296) ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1125) ~[spring-context-3.2.3.RELEASE.jar:3.2.3.RELEASE]
        at AbstractGlobal.getControllerInstance(AbstractGlobal.java:29) ~[oul_2.10.jar:na]
        at Global.getControllerInstance(Global.java:27) ~[classes/:na]
        at play.core.j.JavaGlobalSettingsAdapter.getControllerInstance(JavaGlobalSettingsAdapter.scala:46) ~[play_2.10.jar:2.2.0]
        at play.core.j.JavaAction$$anonfun$8.apply(JavaAction.scala:80) ~[play_2.10.jar:2.2.0]

但是,如果我不使用spring(不使用Global且没有getControllerInstance),那么样本就可以了! 请帮助我使用安全的社交和春天。 感谢。

1 个答案:

答案 0 :(得分:1)

将此行添加到Global.onStart()中的Global.java:

ctx.register(SecureSocial.Secured.class);

相关问题