스프링 데이터 JPA를 사용하고 있으며 저장소 채우기를 사용하여 데이터를 채우려고합니다. 그러나 잘못된 JSON을 예외로합니다.스프링 데이터 -jpa와 함께 저장소 채우기를 사용하는 방법?
나는 그것이 data.json 파일의 위치 일 것 같아요. 나는 다음과 같이 META-INF 폴더 및 테스트 케이스에 대한 구성 오전에 놓여있다
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:META-INF/integration-test-context.xml","classpath:META-INF/sample-data.xml"})
public class JpaCompanyRepositoryIntegrationTest{
//Test cases here
}
내 샘플 인 data.xml은 다음과 같습니다
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:repository="http://www.springframework.org/schema/data/repository"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/repository
http://www.springframework.org/schema/data/repository/spring-repository.xsd">
<repository:jackson-populator location="classpath:data.json" />
</beans>
및 data.json는
[{"_class" : "com.some.Class",
"id" : "id1",
"firstname" : "Admin",
"lastname" : "admin"
},
{
"_class" : "com.some.Class",
"id" : "id2",
"firstname" : "user",
"lastname" : "user"
}]
을 포함
Caused by: java.lang.RuntimeException: org.codehaus.jackson.JsonParseException: Unexpected character ('c' (code 99)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: [email protected]; line: 1, column: 2]
at org.springframework.data.repository.init.ResourceReaderRepositoryPopulator.readObjectFrom(ResourceReaderRepositoryPopulator.java:145)
at org.springframework.data.repository.init.ResourceReaderRepositoryPopulator.populate(ResourceReaderRepositoryPopulator.java:115)
at org.springframework.data.repository.init.AbstractRepositoryPopulatorFactoryBean.onApplicationEvent(AbstractRepositoryPopulatorFactoryBean.java:93)
at org.springframework.data.repository.init.AbstractRepositoryPopulatorFactoryBean.onApplicationEvent(AbstractRepositoryPopulatorFactoryBean.java:34)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:324)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:934)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:103)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
at org.springframework.test.context.support.DelegatingSmartContextLoader.loadContext(DelegatingSmartContextLoader.java:228)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148)
... 24 more
Caused by: org.codehaus.jackson.JsonParseException: Unexpected character ('c' (code 99)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: [email protected]; line: 1, column: 2]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1432)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:385)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:306)
at org.codehaus.jackson.impl.Utf8StreamParser._handleUnexpectedValue(Utf8StreamParser.java:2084)
at org.codehaus.jackson.impl.Utf8StreamParser._nextTokenNotInObject(Utf8StreamParser.java:600)
at org.codehaus.jackson.impl.Utf8StreamParser.nextToken(Utf8StreamParser.java:486)
at org.codehaus.jackson.map.ObjectReader._initForReading(ObjectReader.java:638)
at org.codehaus.jackson.map.ObjectReader._bindAsTree(ObjectReader.java:597)
at org.codehaus.jackson.map.ObjectReader._bindAndCloseAsTree(ObjectReader.java:621)
at org.codehaus.jackson.map.ObjectReader.readTree(ObjectReader.java:381)
at org.springframework.data.repository.init.JacksonResourceReader.readFrom(JacksonResourceReader.java:80)
at org.springframework.data.repository.init.ResourceReaderRepositoryPopulator.readObjectFrom(ResourceReaderRepositoryPopulator.java:143)
... 36 more
:
나는 다음과 같은 예외가
그래서 좀 더 디버깅을했는데 구성에서 저장소 위치 지정자 속성의 "위치"특성을 찾고 있음을 알게되었습니다. 반면 xml에는 "위치"속성이 필요합니다. 나는 스프링 데이터 1.4.0.RELEASE와 jackson 1.9.2를 사용하고있다. 의존성을 섞어 놓았습니까?
저는 StackOverflow에서 Spring 데이터 관련 질문을 모니터링하므로 전자 메일로 나를 핑 (ping) 할 필요가 없습니다. :) –