Spring Boot 不加载数据以使用 data.sql 初始化数据库
Posted
技术标签:
【中文标题】Spring Boot 不加载数据以使用 data.sql 初始化数据库【英文标题】:Spring boot doesn't load data to initialize database using data.sql 【发布时间】:2017-12-18 08:25:35 【问题描述】:我正在尝试在 Spring 启动时加载一些数据,但数据没有加载到数据库中,尽管我没有收到任何错误。下面是代码
spring:
debug: true
datasource:
username: root
password: ****
url: jdbc:mariadb://localhost:3306/customer_registration_service?connectTimeout=100
driver-class-name: org.mariadb.jdbc.Driver
initialize: true
data: data-mysql.sql
validation-query: SELECT 1
test-on-borrow: true
jpa:
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
properties:
hibernate:
ddl-auto: validate
naming-strategy: org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy
我在 src/main/resources 下有 data-mysql.sql
为了强制出错,我尝试故意提供错误的文件名,但我仍然没有得到任何真正的错误..所以看起来 Spring 完全忽略了设置
编辑:
这是启动日志
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building customer-registration 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> spring-boot-maven-plugin:1.5.2.RELEASE:run (default-cli) @ customer-registration >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ customer-registration ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ customer-registration ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ customer-registration ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/cheruveettilz/Projects/innovationday/customer-registration-service/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ customer-registration ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] <<< spring-boot-maven-plugin:1.5.2.RELEASE:run (default-cli) @ customer-registration <<<
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.2.RELEASE:run (default-cli) @ customer-registration ---
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.2.RELEASE)
2017-07-13 19:41:37.055 INFO 83740 --- [ main] c.b.s.customer.registration.Application : Starting Application
2017-07-13 19:41:37.058 INFO 83740 --- [ main] c.b.s.customer.registration.Application : No active profile set, falling back to default profiles: default
2017-07-13 19:41:37.106 INFO 83740 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4883e67d: startup date [Thu Jul 13 19:41:37 CEST 2017]; root of context hierarchy
2017-07-13 19:41:37.792 INFO 83740 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'httpRequestHandlerAdapter' 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.web.WebMvcAutoConfiguration$EnableWebMvcConfiguration; factoryMethodName=httpRequestHandlerAdapter; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; factoryMethodName=httpRequestHandlerAdapter; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]]
2017-07-13 19:41:38.278 INFO 83740 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$4b8a61c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-07-13 19:41:38.521 INFO 83740 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2017-07-13 19:41:38.530 INFO 83740 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2017-07-13 19:41:38.531 INFO 83740 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.11
2017-07-13 19:41:38.598 INFO 83740 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2017-07-13 19:41:38.598 INFO 83740 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1495 ms
2017-07-13 19:41:38.713 INFO 83740 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2017-07-13 19:41:38.716 INFO 83740 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-07-13 19:41:38.716 INFO 83740 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-07-13 19:41:38.716 INFO 83740 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-07-13 19:41:38.716 INFO 83740 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2017-07-13 19:41:39.080 INFO 83740 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2017-07-13 19:41:39.094 INFO 83740 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2017-07-13 19:41:39.163 INFO 83740 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core 5.0.12.Final
2017-07-13 19:41:39.165 INFO 83740 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2017-07-13 19:41:39.166 INFO 83740 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2017-07-13 19:41:39.206 INFO 83740 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations 5.0.1.Final
2017-07-13 19:41:39.315 INFO 83740 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
2017-07-13 19:41:39.841 INFO 83740 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2017-07-13 19:41:40.513 INFO 83740 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4883e67d: startup date [Thu Jul 13 19:41:37 CEST 2017]; root of context hierarchy
2017-07-13 19:41:40.575 INFO 83740 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "[/error]" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-07-13 19:41:40.576 INFO 83740 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "[/error],produces=[text/html]" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-07-13 19:41:40.598 INFO 83740 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-07-13 19:41:40.598 INFO 83740 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-07-13 19:41:40.609 INFO 83740 --- [ main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in repositoryRestExceptionHandler
2017-07-13 19:41:40.657 INFO 83740 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-07-13 19:41:40.801 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4883e67d: startup date [Thu Jul 13 19:41:37 CEST 2017]; root of context hierarchy
2017-07-13 19:41:40.816 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id/property],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController.followPropertyReference(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,java.lang.String,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws java.lang.Exception
2017-07-13 19:41:40.816 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id/property/propertyId],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController.followPropertyReference(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,java.lang.String,java.lang.String,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws java.lang.Exception
2017-07-13 19:41:40.816 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id/property],methods=[DELETE],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<? extends org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController.deletePropertyReference(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,java.lang.String) throws java.lang.Exception
2017-07-13 19:41:40.817 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id/property],methods=[GET],produces=[application/x-spring-data-compact+json || text/uri-list]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController.followPropertyReferenceCompact(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,java.lang.String,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws java.lang.Exception
2017-07-13 19:41:40.817 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id/property],methods=[PATCH || PUT || POST],consumes=[application/json || application/x-spring-data-compact+json || text/uri-list],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<? extends org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController.createPropertyReference(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.http.HttpMethod,org.springframework.hateoas.Resources<java.lang.Object>,java.io.Serializable,java.lang.String) throws java.lang.Exception
2017-07-13 19:41:40.817 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id/property/propertyId],methods=[DELETE],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController.deletePropertyReferenceId(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,java.lang.String,java.lang.String) throws java.lang.Exception
2017-07-13 19:41:40.819 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search],methods=[OPTIONS],produces=[application/hal+json || application/json]" onto public org.springframework.http.HttpEntity<?> org.springframework.data.rest.webmvc.RepositorySearchController.optionsForSearches(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.819 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search],methods=[HEAD],produces=[application/hal+json || application/json]" onto public org.springframework.http.HttpEntity<?> org.springframework.data.rest.webmvc.RepositorySearchController.headForSearches(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.819 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.data.rest.webmvc.RepositorySearchesResource org.springframework.data.rest.webmvc.RepositorySearchController.listSearches(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.819 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search/search],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositorySearchController.executeSearch(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.util.MultiValueMap<java.lang.String, java.lang.Object>,java.lang.String,org.springframework.data.rest.webmvc.support.DefaultedPageable,org.springframework.data.domain.Sort,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler,org.springframework.http.HttpHeaders)
2017-07-13 19:41:40.819 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search/search],methods=[GET],produces=[application/x-spring-data-compact+json]" onto public org.springframework.hateoas.ResourceSupport org.springframework.data.rest.webmvc.RepositorySearchController.executeSearchCompact(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.http.HttpHeaders,org.springframework.util.MultiValueMap<java.lang.String, java.lang.Object>,java.lang.String,java.lang.String,org.springframework.data.rest.webmvc.support.DefaultedPageable,org.springframework.data.domain.Sort,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler)
2017-07-13 19:41:40.820 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search/search],methods=[OPTIONS],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<java.lang.Object> org.springframework.data.rest.webmvc.RepositorySearchController.optionsForSearch(org.springframework.data.rest.webmvc.RootResourceInformation,java.lang.String)
2017-07-13 19:41:40.820 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/search/search],methods=[HEAD],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<java.lang.Object> org.springframework.data.rest.webmvc.RepositorySearchController.headForSearch(org.springframework.data.rest.webmvc.RootResourceInformation,java.lang.String)
2017-07-13 19:41:40.821 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/ || ],methods=[OPTIONS],produces=[application/hal+json || application/json]" onto public org.springframework.http.HttpEntity<?> org.springframework.data.rest.webmvc.RepositoryController.optionsForRepositories()
2017-07-13 19:41:40.822 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/ || ],methods=[HEAD],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositoryController.headForRepositories()
2017-07-13 19:41:40.822 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/ || ],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.http.HttpEntity<org.springframework.data.rest.webmvc.RepositoryLinksResource> org.springframework.data.rest.webmvc.RepositoryController.listRepositories()
2017-07-13 19:41:40.823 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository],methods=[OPTIONS],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositoryEntityController.optionsForCollectionResource(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.824 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository],methods=[HEAD],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositoryEntityController.headCollectionResource(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.support.DefaultedPageable) throws org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.824 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.hateoas.Resources<?> org.springframework.data.rest.webmvc.RepositoryEntityController.getCollectionResource(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.support.DefaultedPageable,org.springframework.data.domain.Sort,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws org.springframework.data.rest.webmvc.ResourceNotFoundException,org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.824 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository],methods=[GET],produces=[application/x-spring-data-compact+json || text/uri-list]" onto public org.springframework.hateoas.Resources<?> org.springframework.data.rest.webmvc.RepositoryEntityController.getCollectionResourceCompact(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.support.DefaultedPageable,org.springframework.data.domain.Sort,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws org.springframework.data.rest.webmvc.ResourceNotFoundException,org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.824 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository],methods=[POST],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryEntityController.postCollectionResource(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.PersistentEntityResource,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler,java.lang.String) throws org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.825 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id],methods=[OPTIONS],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositoryEntityController.optionsForItemResource(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.825 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id],methods=[HEAD],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositoryEntityController.headForItemResource(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.825 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id],methods=[GET],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.Resource<?>> org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler,org.springframework.http.HttpHeaders) throws org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.826 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id],methods=[PUT],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<? extends org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryEntityController.putItemResource(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.PersistentEntityResource,java.io.Serializable,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler,org.springframework.data.rest.webmvc.support.ETag,java.lang.String) throws org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.826 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id],methods=[PATCH],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.RepositoryEntityController.patchItemResource(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.PersistentEntityResource,java.io.Serializable,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler,org.springframework.data.rest.webmvc.support.ETag,java.lang.String) throws org.springframework.web.HttpRequestMethodNotSupportedException,org.springframework.data.rest.webmvc.ResourceNotFoundException
2017-07-13 19:41:40.827 INFO 83740 --- [ main] o.s.d.r.w.RepositoryRestHandlerMapping : Mapped "[/repository/id],methods=[DELETE],produces=[application/hal+json || application/json]" onto public org.springframework.http.ResponseEntity<?> org.springframework.data.rest.webmvc.RepositoryEntityController.deleteItemResource(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,org.springframework.data.rest.webmvc.support.ETag) throws org.springframework.data.rest.webmvc.ResourceNotFoundException,org.springframework.web.HttpRequestMethodNotSupportedException
2017-07-13 19:41:40.831 INFO 83740 --- [ main] o.s.d.r.w.BasePathAwareHandlerMapping : Mapped "[/profile],methods=[GET]" onto org.springframework.http.HttpEntity<org.springframework.hateoas.ResourceSupport> org.springframework.data.rest.webmvc.ProfileController.listAllFormsOfMetadata()
2017-07-13 19:41:40.831 INFO 83740 --- [ main] o.s.d.r.w.BasePathAwareHandlerMapping : Mapped "[/profile],methods=[OPTIONS]" onto public org.springframework.http.HttpEntity<?> org.springframework.data.rest.webmvc.ProfileController.profileOptions()
2017-07-13 19:41:40.831 INFO 83740 --- [ main] o.s.d.r.w.BasePathAwareHandlerMapping : Mapped "[/profile/repository],methods=[GET],produces=[application/schema+json]" onto public org.springframework.http.HttpEntity<org.springframework.data.rest.webmvc.json.JsonSchema> org.springframework.data.rest.webmvc.RepositorySchemaController.schema(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.832 INFO 83740 --- [ main] o.s.d.r.w.BasePathAwareHandlerMapping : Mapped "[/profile/repository],methods=[OPTIONS],produces=[application/alps+json]" onto org.springframework.http.HttpEntity<?> org.springframework.data.rest.webmvc.alps.AlpsController.alpsOptions()
2017-07-13 19:41:40.832 INFO 83740 --- [ main] o.s.d.r.w.BasePathAwareHandlerMapping : Mapped "[/profile/repository],methods=[GET],produces=[application/alps+json || */*]" onto org.springframework.http.HttpEntity<org.springframework.data.rest.webmvc.RootResourceInformation> org.springframework.data.rest.webmvc.alps.AlpsController.descriptor(org.springframework.data.rest.webmvc.RootResourceInformation)
2017-07-13 19:41:40.950 INFO 83740 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-07-13 19:41:40.999 INFO 83740 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-07-13 19:41:41.004 INFO 83740 --- [ main] c.b.s.customer.registration.Application : Started Application in 4.291 seconds (JVM running for 7.001)
【问题讨论】:
如果那真的是你的 yaml 文件,那么缩进是错误的。 可能是复制粘贴问题。我在yamllint.com下验证了我的yaml 可以分享一下启动日志吗?我希望看到以下内容: 2017-07-13 10:32:50.660 INFO 5520 --- [main] osjdbc.datasource.init.ScriptUtils : Executing SQL script from URL [file:/C:/Users/ blah/IdeaProjects/uuid/target/classes/data.sql] 2017-07-13 10:32:50.660 INFO 5520 --- [main] osjdbc.datasource.init.ScriptUtils:从 URL [file:/ C:/Users/blah/IdeaProjects/uuid/target/classes/data.sql] 在 0 毫秒内。 嗯,它是一个有效的 yaml 文件,但缩进不正确。数据源下的所有内容都应以 2 个空格为前缀,否则将被忽略,因为它是未知属性。 @M.Deinum url 被正确提取 【参考方案1】:您应该尝试将以下属性spring.datasource.platform
设置为mysql
。因此,Spring Boot 将能够加载 data-$platform.sql
文件。
您可以找到更多详细信息here。
【讨论】:
抱歉,没用。我已经尝试过data.sql
也没有任何平台名称,没有运气
键 datasource
下的错误缩进可能会导致问题(yaml 需要空格缩进)?日志输出中没有任何反应?
yaml 很好,因为该应用程序可以正常工作。日志输出没有给出任何线索
Thomaas 的指示 + 设置以下属性 spring.datasource.initialization-mode=always
application.propertis 对我的配置有效。【参考方案2】:
可能还有其他原因,但这肯定会停止运行:
ddl-auto: validate
Hibernate 只会为 create 或 create-drop 执行 data.sql;改为
ddl-auto: create
或
ddl-auto: create-drop
Spring documentation on database initialization.
[编辑] Hibernate 将使用此设置扁平化您现有的数据库 - 不要在生产环境中执行此操作。
【讨论】:
事实并非如此——即使使用这些设置,数据库条目也会在执行时添加:spring.datasource.initialization-mode=always spring.jpa.hibernate.ddl-auto=update 谢谢。spring.jpa.hibernate.ddl-auto: validate
应该是默认设置,【参考方案3】:
尝试在 application.properties 中添加这一行:
spring.datasource.initialization-mode=always
【讨论】:
确实默认值为embedded
,这意味着它仅适用于您正在运行和嵌入式数据库。如果您正在运行外部数据库,always
是解决方案。谢谢!
对于新的spring boot版本spring.jpa.defer-datasource-initialization: true
感谢@Cihangir,即使在ddl-auto:update模式下加载数据,也无法在ddl-auto:create-drop模式下加载数据sql。设置 defer-datasource-initialization 配置后,这个问题就消失了
注意spring.datasource.initialization-mode已经被spring.sql.init.mode替换了
spring.sql.init.mode = 总是【参考方案4】:
这对我有用:
spring.jpa.hibernate.ddl-auto=create-drop
spring.datasource.initialization-mode=always
请记住不要在生产中使用“create-drop”。应用程序停止后,它将删除您的数据库。
【讨论】:
【参考方案5】:我必须创建两个文件:一个用于架构,另一个用于种子数据。
src/
main/
resources/
schema.sql
data.sql
在 schema.sql 中:
DROP TABLE IF EXISTS users;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(250) NOT NULL,
password VARCHAR(250) NOT NULL,
);
在data.sql中:
INSERT INTO users (username, password) VALUES ('nastysloper', 'password');
【讨论】:
【参考方案6】:SpringBoot 1.x.x
默认激活 spring.datasource.initialize=true/falseSpringBoot 2.x.x
嵌入式数据库默认为活动状态 spring.datasource.initialization-mode=嵌入式/always/never【讨论】:
【参考方案7】:您应该关闭自动模式创建:
spring.jpa.hibernate.ddl-auto=none
更多关于初始加载数据的信息可以在这里找到:
https://www.baeldung.com/spring-boot-data-sql-and-schema-sql
【讨论】:
【参考方案8】:spring.datasource.initialization-mode=always
spring.datasource.data=classpath:Data.sql
我添加了这两个,它起作用了。
【讨论】:
【参考方案9】:这两行对我有用:
spring.jpa.defer-datasource-initialization=true
spring.sql.init.mode=always
很遗憾,接受的答案 spring.datasource.initialization-mode=always
已弃用。
【讨论】:
对我来说,第二行就足够了。 非常感谢! 我希望我能给至少 100 票。完美运行。【参考方案10】:spring.datasource.initialization-mode
属性已弃用,根据spring boot数据库的最新文档可以用名为“import.sql”的sql文件文件初始化;
此外,在类路径的根目录下有一个名为 import.sql 的文件是 如果 Hibernate 从头开始创建模式,则在启动时执行(即 是,如果 ddl-auto 属性设置为 create 或 create-drop)。
https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-initialization
【讨论】:
以上是关于Spring Boot 不加载数据以使用 data.sql 初始化数据库的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 2.0.4整合Spring Data JPA和Druid,双数据源
当加载 spring-boot 和 spring-data-jpa 时,Hibernate 无法加载 JPA 2.1 Converter
Spring Boot 1.4:Spring Data Cassandra 1.4.2 与 Cassandra 3.0 不兼容?