我试图制作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
知道我忽略了什么吗?谢谢!
答案 0 :(得分:0)
好的,事实证明我错过了一些依赖项。我添加了spring-boot-starter-data-jpa
和h2
。现在我收到了不同的错误,但我会发布一个关于此问题的新问题。