简化的Spring Bookmark教程无法实例化我的存储库bean

时间:2016-10-25 10:02:15

标签: java spring spring-boot

我试图制作Spring Bookmark tutorial的超简化版本(使用gradle而不是maven)。我的代码可以在这里找到:https://github.com/JetForMe/spring-hoa/tree/master/src/main/java/com/latencyzero/hoa

我所做的更改之一是调用“用户”教程称之为“帐户”的内容,以及我不认为的轻微风格变化导致问题,但它们可能是,如果这是一个名称匹配问题(但我认为Spring非常聪明,可以寻找类型)。

在任何情况下,我的UserRepository类都没有被实例化,因此不能自动连接到我的其余类。仔细阅读教程,我没有看到任何特殊的工作来实例化存储库。

日志显示可能是红色鲱鱼:“Spring Data MongoDB - 无法安全地识别存储库候选接口com.latencyzero.hoa.UserRepository的存储分配。”

这是完整的日志:

$ gradle bootRun
:compileJava
:processResources
:classes
:findMainClass
:bootRun
2016-10-25 02:53:00.108  INFO 99423 --- [  restartedMain] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@3f1dba7: startup date [Tue Oct 25 02:53:00 PDT 2016]; root of context hierarchy
2016-10-25 02:53:00.376  INFO 99423 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [class org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8758e0b1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.1.RELEASE)

2016-10-25 02:53:00.593  INFO 99423 --- [  restartedMain] com.latencyzero.hoa.Application          : No active profile set, falling back to default profiles: default
2016-10-25 02:53:00.605  INFO 99423 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@ae0374c: startup date [Tue Oct 25 02:53:00 PDT 2016]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@3f1dba7
2016-10-25 02:53:01.873  INFO 99423 --- [  restartedMain] o.s.b.f.s.DefaultListableBeanFactory     : Overriding bean definition for bean 'ignoredPathsWebSecurityConfigurerAdapter' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration; factoryMethodName=ignoredPathsWebSecurityConfigurerAdapter; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration; factoryMethodName=ignoredPathsWebSecurityConfigurerAdapter; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/actuate/autoconfigure/ManagementWebSecurityAutoConfiguration.class]]
2016-10-25 02:53:02.047  INFO 99423 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2016-10-25 02:53:02.069  INFO 99423 --- [  restartedMain] .RepositoryConfigurationExtensionSupport : Spring Data MongoDB - Could not safely identify store assignment for repository candidate interface com.latencyzero.hoa.UserRepository.
2016-10-25 02:53:02.150  WARN 99423 --- [  restartedMain] o.s.c.a.ConfigurationClassPostProcessor  : Cannot enhance @Configuration bean definition 'refreshScope' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
2016-10-25 02:53:02.367  INFO 99423 --- [  restartedMain] o.s.cloud.context.scope.GenericScope     : BeanFactory id=ca9236f5-9f66-359b-bc2d-0d19b66d24be
2016-10-25 02:53:02.485  INFO 99423 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$6b3eddb4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-10-25 02:53:02.530  INFO 99423 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [class org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8758e0b1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-10-25 02:53:02.980  INFO 99423 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-10-25 02:53:02.991  INFO 99423 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service Tomcat
2016-10-25 02:53:02.992  INFO 99423 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.5
2016-10-25 02:53:03.076  INFO 99423 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2016-10-25 02:53:03.076  INFO 99423 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2471 ms
2016-10-25 02:53:03.414  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'metricsFilter' to: [/*]
2016-10-25 02:53:03.414  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-10-25 02:53:03.414  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2016-10-25 02:53:03.415  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2016-10-25 02:53:03.415  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2016-10-25 02:53:03.416  INFO 99423 --- [ost-startStop-1] .s.DelegatingFilterProxyRegistrationBean : Mapping filter: 'springSecurityFilterChain' to: [/*]
2016-10-25 02:53:03.417  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'webRequestLoggingFilter' to: [/*]
2016-10-25 02:53:03.417  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'applicationContextIdFilter' to: [/*]
2016-10-25 02:53:03.417  INFO 99423 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2016-10-25 02:53:03.457  WARN 99423 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController' defined in file [/Users/rmann/Projects/HOA/spring-hoa/build/classes/main/com/latencyzero/hoa/UserController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean found for dependency [com.latencyzero.hoa.UserRepository]: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
2016-10-25 02:53:03.460  INFO 99423 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service Tomcat
2016-10-25 02:53:03.472  WARN 99423 --- [  restartedMain] o.s.boot.SpringApplication               : Error handling failed (Error creating bean with name 'delegatingApplicationListener' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor' defined in class path resource [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor]: Factory method 'transactionAdvisor' threw exception; nested exception is java.lang.NullPointerException)
2016-10-25 02:53:03.641 ERROR 99423 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in com.latencyzero.hoa.UserController required a bean of type 'com.latencyzero.hoa.UserRepository' that could not be found.


Action:

Consider defining a bean of type 'com.latencyzero.hoa.UserRepository' in your configuration.


BUILD SUCCESSFUL

Total time: 11.941 secs

知道我忽略了什么吗?谢谢!

1 个答案:

答案 0 :(得分:0)

好的,事实证明我错过了一些依赖项。我添加了spring-boot-starter-data-jpah2。现在我收到了不同的错误,但我会发布一个关于此问题的新问题。