java 未检测到@EnableJpaRepositories或未在spring-boot应用程序中的任何位置检测到仓库的@Autowired

vatpfxk5  于 2023-10-14  发布在  Java
关注(0)|答案(4)|浏览(123)

我提到过很多类似的stackoverflow问题。我已经尝试了所有提供的解决方案和建议。但由于未检测到Repository类的@Autowired而不断给出错误,无论其在 Boot 应用程序文件中的@EnableJpaRepositories中的定义如何。我试过用

  1. @Configuration
  2. @EnableAutoConfiguration
  3. @ComponentScan("com.example.repository") as well in the Boot application class.
  4. Nothing seems to resolve the error.
  5. Desperately seeking help from anyone who can find out what am I doing wrong. Please help me out. I have been trying to find on the internet and tried on my own. But still no luck and I have not been patient for the past two days because of this.
  6. I want to resolve this and get ready to get a job using spring-boot-starter-data-jpa in their project. So please help.
  7. ===============================================================================
  8. enter code here
  9. folder structure
  10. src->main->java->com
  11. - ApplicationDataSource.java
  12. src->main->java->com->example->controller
  13. - H2Controller.java
  14. src->main->java->com->example->service
  15. - H2Service.java
  16. src->main->java->com->example->repository
  17. - H2Repository.java
  18. -------------------------------------------
  19. <?xml version="1.0" encoding="UTF-8"?>
  20. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  21. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  22. <modelVersion>4.0.0</modelVersion>
  23. <parent>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-starter-parent</artifactId>
  26. <version>2.3.2.RELEASE</version>
  27. <relativePath/> <!-- lookup parent from repository -->
  28. </parent>
  29. <groupId>com.example</groupId>
  30. <artifactId>h2sample</artifactId>
  31. <version>0.0.1-SNAPSHOT</version>
  32. <name>h2sample</name>
  33. <description>Demo project for Spring Boot</description>
  34. <properties>
  35. <java.version>1.8</java.version>
  36. </properties>
  37. <dependencies>
  38. <dependency>
  39. <groupId>org.apache.tomcat</groupId>
  40. <artifactId>tomcat-jdbc</artifactId>
  41. <version>9.0.10</version>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.springframework.boot</groupId>
  45. <artifactId>spring-boot-starter-data-jpa</artifactId>
  46. <version>2.3.2.RELEASE</version>
  47. </dependency>
  48. <dependency>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-starter-web</artifactId>
  51. <version>2.3.2.RELEASE</version>
  52. </dependency>
  53. <dependency>
  54. <groupId>com.h2database</groupId>
  55. <artifactId>h2</artifactId>
  56. <scope>runtime</scope>
  57. </dependency>
  58. <dependency>
  59. <groupId>com.jolbox</groupId>
  60. <artifactId>bonecp</artifactId>
  61. <version>0.8.0.RELEASE</version>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.springframework.boot</groupId>
  65. <artifactId>spring-boot-starter-test</artifactId>
  66. <scope>test</scope>
  67. <exclusions>
  68. <exclusion>
  69. <groupId>org.junit.vintage</groupId>
  70. <artifactId>junit-vintage-engine</artifactId>
  71. </exclusion>
  72. </exclusions>
  73. </dependency>
  74. </dependencies>
  75. <build>
  76. <plugins>
  77. <plugin>
  78. <groupId>org.springframework.boot</groupId>
  79. <artifactId>spring-boot-maven-plugin</artifactId>
  80. </plugin>
  81. </plugins>
  82. </build>
  83. </project>
  84. ---------------------------------------------------
  85. package com;
  86. import org.springframework.boot.SpringApplication;
  87. import org.springframework.boot.autoconfigure.SpringBootApplication;
  88. import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
  89. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  90. import org.springframework.boot.autoconfigure.domain.EntityScan;
  91. import org.springframework.context.annotation.ComponentScan;
  92. import org.springframework.context.annotation.Configuration;
  93. import com.example.repository.H2Repository;
  94. import com.example.repository.City;
  95. /*
  96. * @Configuration
  97. *
  98. * @EnableAutoConfiguration
  99. *
  100. * @ComponentScan("com.example.h2sample")
  101. */
  102. @SpringBootApplication(scanBasePackages= {"com.example.controller","com.example.service"})
  103. @EnableJpaRepositories("com.example.repository")
  104. public class H2sampleApplication {
  105. public static void main(String[] args) {
  106. SpringApplication.run(H2sampleApplication.class, args);
  107. }
  108. }
  109. --------------------
  110. package com.example.controller;
  111. import org.springframework.http.ResponseEntity;
  112. import org.springframework.http.HttpStatus;
  113. import org.springframework.http.MediaType;
  114. import org.springframework.web.bind.annotation.GetMapping;
  115. import org.springframework.web.bind.annotation.RestController;
  116. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  117. import org.springframework.beans.factory.annotation.Autowired;
  118. import com.example.service.H2Service;
  119. @RestController
  120. public class H2Controller {
  121. @Autowired
  122. private H2Service h2service;
  123. @GetMapping(value="/testh2")
  124. public String testh2() {
  125. return "Hi Test "+h2service.getH2Service();
  126. }
  127. }
  128. -------------------------------------------
  129. package com.example.service;
  130. import org.springframework.stereotype.Service;
  131. import org.springframework.beans.factory.annotation.Autowired;
  132. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  133. import com.example.repository.H2Repository;
  134. import com.example.repository.City;
  135. @Service
  136. public class H2Service {
  137. @Autowired
  138. private H2Repository<City> h2repository;
  139. public String getH2Service() {
  140. System.out.println(h2repository.findAll());
  141. return " from Service";
  142. }
  143. }
  144. --------------------------------------
  145. package com.example.repository;
  146. import org.springframework.data.jpa.repository.JpaRepository;
  147. import org.springframework.data.repository.CrudRepository;
  148. import org.springframework.stereotype.Repository;
  149. import org.springframework.stereotype.Component;
  150. import java.util.List;
  151. public interface H2Repository<City> extends CrudRepository<City, Long> {
  152. public List<City> findAll();
  153. }
  154. -----------------------------------------
  155. package com.example.repository;
  156. import java.util.Objects;
  157. import javax.persistence.Entity;
  158. import javax.persistence.GeneratedValue;
  159. import javax.persistence.GenerationType;
  160. import javax.persistence.Id;
  161. import javax.persistence.Table;
  162. @Entity
  163. @Table(name = "CITY")
  164. public class City {
  165. @Id
  166. private Long id;
  167. private String name;
  168. private int population;
  169. public Long getId() {
  170. return id;
  171. }
  172. public void setId(Long id) {
  173. this.id = id;
  174. }
  175. public String getName() {
  176. return name;
  177. }
  178. public void setName(String name) {
  179. this.name = name;
  180. }
  181. public int getPopulation() {
  182. return population;
  183. }
  184. public void setPopulation(int population) {
  185. this.population = population;
  186. }
  187. }
  188. ===================================================================
  189. server.servlet.context-path=/h2
  190. spring.datasource.driverClassName=org.h2.Driver
  191. spring.datasource.url=jdbc:h2:./test-db
  192. spring.datasource.username=sa
  193. spring.datasource.password=password
  194. spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
  195. spring.jpa.show-sql=true
  196. Error
  197. ----
  198. H2Sample\h2sample\target\classes started by Sethu in H:\H2Sample\h2sample)
  199. 2020-07-28 11:39:01.955 INFO 14236 --- [ main] com.H2sampleApplication : No active profile set, falling back to default profiles: default
  200. 2020-07-28 11:39:02.453 INFO 14236 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
  201. 2020-07-28 11:39:02.511 INFO 14236 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 46ms. Found 1 JPA repository interfaces.
  202. 2020-07-28 11:39:03.610 INFO 14236 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
  203. 2020-07-28 11:39:03.624 INFO 14236 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
  204. 2020-07-28 11:39:03.624 INFO 14236 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.37]
  205. 2020-07-28 11:39:03.754 INFO 14236 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/h2] : Initializing Spring embedded WebApplicationContext
  206. 2020-07-28 11:39:03.755 INFO 14236 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1736 ms
  207. 2020-07-28 11:39:03.922 INFO 14236 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
  208. 2020-07-28 11:39:04.047 INFO 14236 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
  209. 2020-07-28 11:39:05.024 INFO 14236 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
  210. 2020-07-28 11:39:05.072 INFO 14236 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.18.Final
  211. 2020-07-28 11:39:05.309 INFO 14236 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
  212. 2020-07-28 11:39:05.414 INFO 14236 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
  213. Hibernate: drop table if exists city CASCADE
  214. Hibernate: create table city (id bigint not null, name varchar(255), population integer not null, primary key (id))
  215. 2020-07-28 11:39:05.970 INFO 14236 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
  216. 2020-07-28 11:39:05.980 INFO 14236 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
  217. 2020-07-28 11:39:06.135 WARN 14236 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'h2Controller': Unsatisfied dependency expressed through field 'h2service'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'h2Service': Unsatisfied dependency expressed through field 'h2repository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'h2Repository' defined in com.example.repository.H2Repository defined in @EnableJpaRepositories declared on H2sampleApplication: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object
  218. 2020-07-28 11:39:06.136 INFO 14236 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
  219. 2020-07-28 11:39:06.141 INFO 14236 --- [ main] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'
  220. Hibernate: drop table if exists city CASCADE
  221. 2020-07-28 11:39:06.150 INFO 14236 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
  222. 2020-07-28 11:39:06.188 INFO 14236 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
  223. 2020-07-28 11:39:06.194 INFO 14236 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
  224. 2020-07-28 11:39:06.223 INFO 14236 --- [ main] ConditionEvaluationReportLoggingListener :
  225. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
  226. 2020-07-28 11:39:06.255 ERROR 14236 --- [ main] o.s.boot.SpringApplication : Application run failed
  227. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'h2Controller': Unsatisfied dependency expressed through field 'h2service'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'h2Service': Unsatisfied dependency expressed through field 'h2repository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'h2Repository' defined in com.example.repository.H2Repository defined in @EnableJpaRepositories declared on H2sampleApplication: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object
  228. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  229. at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  230. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  231. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  232. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  233. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  234. at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  235. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  236. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  237. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  238. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  239. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  240. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  241. at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  242. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  243. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  244. at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  245. at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  246. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  247. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  248. at com.H2sampleApplication.main(H2sampleApplication.java:28) [classes/:na]
  249. Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'h2Service': Unsatisfied dependency expressed through field 'h2repository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'h2Repository' defined in com.example.repository.H2Repository defined in @EnableJpaRepositories declared on H2sampleApplication: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object
  250. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  251. at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  252. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  253. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  254. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  255. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  256. at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  257. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  258. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  259. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  260. at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  261. at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  262. at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  263. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  264. ... 20 common frames omitted
  265. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'h2Repository' defined in com.example.repository.H2Repository defined in @EnableJpaRepositories declared on H2sampleApplication: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object
  266. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1794) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  267. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  268. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  269. at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  270. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  271. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  272. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  273. at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  274. at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  275. at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  276. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  277. ... 33 common frames omitted
  278. Caused by: java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object
  279. at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:582) ~[hibernate-core-5.4.18.Final.jar:5.4.18.Final]
  280. at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:85) ~[hibernate-core-5.4.18.Final.jar:5.4.18.Final]
  281. at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:75) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  282. at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getEntityInformation(JpaEntityInformationSupport.java:66) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  283. at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:229) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  284. at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:179) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  285. at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:162) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  286. at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:72) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  287. at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:309) ~[spring-data-commons-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  288. at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:297) ~[spring-data-commons-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  289. at org.springframework.data.util.Lazy.getNullable(Lazy.java:212) ~[spring-data-commons-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  290. at org.springframework.data.util.Lazy.get(Lazy.java:94) ~[spring-data-commons-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  291. at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:300) ~[spring-data-commons-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  292. at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:144) ~[spring-data-jpa-2.3.2.RELEASE.jar:2.3.2.RELEASE]
  293. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  294. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1790) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  295. ... 43 common frames omitted
  296. [INFO] ------------------------------------------------------------------------
  297. [INFO] BUILD FAILURE
  298. [INFO] ------------------------------------------------------------------------
  299. [INFO] Total time: 9.079 s
  300. [INFO] Finished at: 2020-07-28T11:39:06+05:30
  301. [INFO] ------------------------------------------------------------------------
  302. [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.2.RELEASE:run (default-cli) on project h2sample: Application finished with exit code: 1 -> [Help 1]
  303. [ERROR]
  304. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
  305. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  306. [ERROR]
  307. [ERROR] For more information about the errors and possible solutions, please read the following articles:
  308. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
  309. --------------------------------------------------------------------------------------
yeotifhr

yeotifhr1#

不需要组件扫描,如果你有你的主类在结构的顶部,也不需要

  1. @Configuration
  2. @EnableAutoConfiguration
  3. @ComponentScan("com.example.repository") as well in the Boot application class.

在你的主类中只需要@SpringBootApplication。
这里不遵循Spring的默认结构
使用@ basePackages = {“com.example”}
试试下面的代码:

  1. @SpringBootApplication
  2. @EnableAutoConfiguration
  3. @ComponentScan(basePackages={"<base package name>"})
  4. @EnableJpaRepositories(basePackages="<repository package name>")
  5. @EnableTransactionManagement
  6. @EntityScan(basePackages="<entity package name>")
展开查看全部
h7appiyu

h7appiyu2#

在您的服务类别中,替换以下内容

  1. @Autowired
  2. private H2Repository<City> h2repository;

  1. @Autowired
  2. private H2Repository h2repository;

以及您的存储库界面,请替换以下内容

  1. public interface H2Repository<City> extends CrudRepository<City, Long>

  1. public interface H2Repository extends CrudRepository<City, Long>
展开查看全部
guykilcj

guykilcj3#

这也可能是Entity类放置不正确的结果。查看其他实体类所在的文件夹。

a64a0gku

a64a0gku4#

我可以通过选择正确的java版本,pom.xml中的依赖关系,application.properties并确保SQL服务器正在运行来解决这个问题。

相关问题