開始建設(第一)春季啓動應用程序,這是我的春天啓動主類(Full code on github)春天開機(MySQL的使用JPA):無豆命名爲「entityManagerFactory的」可用
@EnableAutoConfiguration
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
這裏是pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
我不斷收到下面的錯誤。我缺少什麼補充?爲什麼我需要添加一個名爲'entityManagerFactory'的bean bean?甚至在使用彈簧引導之後它是必要的?
我的回購協議是這樣的,如果這個問題
public interface RegistrationRepo extends JpaRepository<User, Long> {
User findByEmail(String email);
}
。 ____ _ __ _ _ /\/' __ _ ()_ __ _ \ \ \ \ (()_ | '_ |' | |'/`| \ \ \ \ \/)| | )| | | | | || ( | |)))) '| ____ | 。 | | | | | | __,|//// ========= | _ | ============== | ___/=///_/ :: Spring Boot ::( v1.5.6.RELEASE)
2017-09-13 12:48:38.808信息15361 --- [main] com.rightlink.RightLinkApplication:在Admins-MacBook-Pro.local上啓動RightLinkApplication並使用PID 15361(/ Users /sureshatta/Documents/workspace-sts-3.9.0.RELEASE/RightLink/target/class由sureshatta在/Users/sureshatta/Documents/workspace-sts-3.9.0.RELEASE/RightLink啓動) 2017-09-13 12 :48:38.811信息15361 --- [main] com.rightlink.RightLinkApplication:沒有活動配置文件集,回落到默認配置文件:默認 2017-09-13 12:48:38.865 INFO 15361 --- [main] ationConfigEmbeddedWebApplicationContext :刷新org.springframewor k.boot[email protected]120d6fe6:啓動日期[Wed Sep 13 12:48:38 IST 2017];上下文層次結構的根 2017-09-13 12:48:40.380信息15361 --- [main] sbcetTomcatEmbeddedServletContainer:Tomcat初始化端口:8181(http) 2017-09-13 12:48:40.402 INFO 15361 --- [main] o.apache.catalina.core.StandardService:啓動服務[Tomcat] 2017-09-13 12:48:40.403 INFO 15361 --- [main] org.apache.catalina.core.StandardEngine :啓動Servlet引擎:Apache Tomcat/8.5.16 2017-09-13 12:48:40.566 INFO 15361 --- [ost-startStop-1] oaccC [Tomcat]。[localhost]。[/]:初始化嵌入式Spring WebApplicationContext 2017-09-13 12:48:40.567信息15361 --- [ost-startStop-1] osweb.context.ContextLoader:根WebApplicationContext:初始化在1705年完成ms 2017-09-13 12:48:40.743 INFO 15361 --- [ost-startStop-1] osbwservlet.ServletRegistratio nBean:映射servlet:'dispatcherServlet'到[/] 2017-09-13 12:48:40.752信息15361 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean:映射過濾器:'characterEncodingFilter'到:[/ ] 2017-09-13 12:48:40.753信息15361 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean:映射過濾器:'hiddenHttpMethodFilter'至:[/] 2017-09-13 12: 48:40.753信息15361 --- [ost-startStop-1] osbwservlet。FilterRegistrationBean:映射過濾器:'httpPutFormContentFilter'到:[/ ] 2017-09-13 12:48:40.753信息15361 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean:映射過濾器:'requestContextFilter'到: [/] 2017-09-13 12:48:40.844 WARN 15361 --- [main] ationConfigEmbeddedWebApplicationContext:在上下文初始化期間遇到異常 - 取消刷新嘗試:org.springframework.beans.factory.UnsatisfiedDependencyException:創建具有名稱的bean時出錯'registerController':通過字段'regServices'表示的不滿意的依賴性;嵌套的異常是org.springframework.beans.factory.UnsatisfiedDependencyException:創建名爲'regService'的bean時出錯:通過域'registrationRepo'表示的不滿意的依賴關係;嵌套異常是org.springframework.beans.factory.BeanCreationException:創建名爲'registrationRepo'的bean時出錯:無法在設置bean時創建內部bean'(內部bean)#43c67247'類型爲[org.springframework.orm.jpa.SharedEntityManagerCreator]屬性'entityManager';嵌套異常是org.springframework.beans.factory.BeanCreationException:創建名稱爲'(內部bean)的bean時出錯#43c67247':設置構造函數參數時無法解析對bean'entityManagerFactory'的引用;嵌套異常是org.springframework.beans.factory.NoSuchBeanDefinitionException:沒有名爲'entityManagerFactory'的bean可用 2017-09-13 12:48:40.849 INFO 15361 --- [main] o.apache.catalina.core.StandardService:Stopping服務[Tomcat] 2017-09-13 12:48:40.903信息15361 --- [main] utoConfigurationReportLoggingInitializer:
啓動ApplicationContext時出錯。要顯示自動配置報告,請啓用'debug'重新運行您的應用程序。 2017年9月13日12:48:40.975 ERROR 15361 --- [主要] osbdLoggingFailureAnalysisReporter:
應用程序未能啓動
描述:
領域registrationRepo在玉米.rightlink.services.RegistrationService需要一個名爲'entityManagerFactory'的bean無法找到。
操作:
考慮定義一個配置中的名爲 'entityManagerFactory的' 豆。
application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/Test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
server.port=8181
嘗試添加@Repository
註釋回購,以及在主類添加@enableJpaRepositories
註釋。沒什麼幫助。
Spring(更準確地說是JPA)需要知道你的entityManagerFactory在哪裏,然後用它來管理實體管理器。請參閱https://docs.spring。io/spring-boot/docs/current/reference/html/howto-data-access.html – spiritwalker
@spiritwalker但是我不需要自定義數據源,想用默認的數據源。 –
@ꜱᴜʀᴇꜱʜᴀᴛᴛᴀ你確定這是唯一的日誌消息嗎? – MangEngkus