【问题标题】:Grails, Spring Security and MongoGrails、Spring Security 和 Mongo
【发布时间】:2016-05-22 22:16:00
【问题描述】:

我尝试配置 Grails 3.1.4 rest-api 应用程序。我想使用 Mongo 和 Spring Security 进行身份验证,但是当我从 application.yml h2 数据源和休眠中删除并尝试运行应用程序时,我得到了很多异常,例如:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistenceInterceptor':
Cannot create inner bean '(inner bean)#1b3bb287' of type [org.grails.orm.hibernate4.support.AggregatePersistenceContextInterceptor]
while setting constructor argument with key [0]; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#1b3bb287':
Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method:
public void org.grails.orm.hibernate4.support.AggregatePersistenceContextInterceptor.setHibernateDatastores(org.grails.orm.hibernate.AbstractHibernateDatastore[]); nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.grails.orm.hibernate.AbstractHibernateDatastore]
found for dependency [array of org.grails.orm.hibernate.AbstractHibernateDatastore]:
expected at least 1 bean which qualifies as autowire candidate for this dependency.

【问题讨论】:

  • 欢迎您。请通过tour 了解 SO 的工作原理。请善待并重新格式化堆栈跟踪并制定question

标签: mongodb grails spring-security


【解决方案1】:

如果您只是注释掉 application.yml 中的默认 H2 和缓存部分,我可以使用 Grails 3.1.7 确认此行为。但是,如果我注释掉以下内容,它就会消失:

// compile "org.grails.plugins:hibernate4"

作为参考,我正在为 mongoDB 和 spring-security-core 使用以下插件版本:

compile 'org.grails.plugins:mongodb:5.0.6'
compile "org.mongodb:mongodb-driver:3.0.2"
runtime 'org.springframework.data:spring-data-mongodb:1.8.1.RELEASE'
compile 'org.grails.plugins:spring-security-core:3.1.1'

干杯!

【讨论】:

    猜你喜欢
    • 2015-08-12
    • 2011-04-22
    • 2012-02-01
    • 1970-01-01
    • 2019-05-09
    • 2017-11-09
    • 2013-05-25
    • 2014-09-12
    • 2014-11-06
    相关资源
    最近更新 更多