小编Mil*_*ind的帖子

使用spring数据存储库和mongo db设置spring应用程序

在application-context.xml中定义mongo存储库时,我遇到了一个问题

以下是我在xml中得到的错误

Error occured processing XML tried to access method org.springframework.context.annotation.AnnotationConfigUtils.processCommonDefinitionAnnotations (Lorg/springframework/beans/factory/annotation/AnnotatedBeanDefinition;)V from class org.springframework.data.repository.config.RepositoryComponentProvider'. See Error Log for more details servlet-context.xml /master/WebContent/WEB-INF/config line 24 Spring Beans Problem

我附上了env的截图供参考.我正在使用eclipse Kepler版本和pom属性File就是这样的

<java-version>1.7</java-version>
<org.springframework-version>4.0.1.RELEASE</org.springframework-version>
<org.jackson-version>2.3.0</org.jackson-version>
<spring-data-mongodb>1.4.0.RELEASE</spring-data-mongodb>
Run Code Online (Sandbox Code Playgroud)

Spring数据公共版本是1.7 spring数据mongo db version 1.4.当我打开上下文xml时,我在eclipse项目中看到了错误.

有趣的是,我有另一个项目运作良好.唯一的区别是它没有弹簧MVC和杰克逊二进制文件,否则它的类似项目.

异常堆栈跟踪:

!ENTRY org.springframework.ide.eclipse.beans.core 1 0 2014-03-01 00:04:11.839!MESSAGE错误处理'/master/WebContent/WEB-INF/config/servlet-context.xml'!STACK 0 java.lang.IllegalAccessError:尝试从类org.springframework.data.repository.config.RepositoryComponentProvider访问方法org.springframework.context.annotation.AnnotationConfigUtils.processCommonDefinitionAnnotations(Lorg/springframework/beans/factory/annotation/AnnotatedBeanDefinition;) at org.springframework.data.repository.config中的org.springframework.data.repository.config.RepositoryComponentProvider.findCandidateComponents(RepositoryComponentProvider.java:121)org.springframework.data.repository.config.RepositoryConfigurationSourceSupport.getCandidates(RepositoryConfigurationSourceSupport.java:69) org.springframework.data.repository.config.RepositoryConfigurationDelegate中的.config.RepositoryConfigurationExtensionSupport.getRepositoryConfigurations(RepositoryConfigurationExtensionSupport.java:54).registerRepositoriesIn(RepositoryConfigurationDelegate.java:88)org.springframework.data.repository.config.RepositoryBeanDefinitionParser.parse(RepositoryBeanDefinitionParser.java:67)org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74 )org.springframework.ide.eclipse.beans.core.internal.model.namespaces.DelegatingNamespaceHandlerResolver $ ElementTrackingNamespaceHandler.parse(DelegatingNamespaceHandlerResolver.java:177)org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java) :1427)atg.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ ErrorSuppressingBeanDefinitionParserDelegate.parseCustomElement(BeansConfig.java:1400)org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java) :1417)org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(De faultBeanDefinitionDocumentReader.java:187)在org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ ToolingFriendlyBeanDefinitionDocumentReader.doRegisterBeanDefinitions(BeansConfig.java:1330)在org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(位于org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ 2.registerBeanDefinitions(BeansConfig)的org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:494)中的DefaultBeanDefinitionDocumentReader.java:110) .java:402)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335)at org. org.springframework.beans.factory.xml.X上的springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ 2.loadBeanDefinitions(BeansConfig.java:388)mlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)at at

servlet context.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd …
Run Code Online (Sandbox Code Playgroud)

java spring mongodb maven

5
推荐指数
2
解决办法
8731
查看次数

RestTemplate和访问json

我已经看到许多其他帖子的回复,但想了解是否有更好的方法来做同样的事情。

要求:-我正在使用restTemplate与Web服务进行通信,该Web服务返回动态的JSON输出。作为消费者,我不想访问所有字段,但对其中几个字段不感兴趣。我在Jackson解析器中使用Spring框架,并找到了访问它的方法

     String  response = restTemplate.getForObject(targetUrl, String.class);
     System.out.println(response);
     ObjectMapper mapper = new ObjectMapper();
     JsonNode rootNode = mapper.readValue(response, JsonNode.class);
     JsonNode uri = rootNode.get("uri");
     System.out.println(uri.asText());
Run Code Online (Sandbox Code Playgroud)

您知道更好的方法吗?我不想做映射到java对象的事情,因为json输出不在我的控件中

spring json jackson resttemplate

5
推荐指数
1
解决办法
6809
查看次数

如果使用多个模块,Spring Data如何知道wicht存储以支持存储库?

在Spring Data项目中,如果我正在使用多种类型的存储库,即JPA存储库和Mongo存储库,并且如果我要扩展,CrudRepository那么Spring Data如何知道为该存储库选择哪个存储?它可以使用JPA或Mongo。它是基于在每个持久实体上添加的注释@Document还是@Entity

jpa mongodb spring-data spring-data-jpa

1
推荐指数
1
解决办法
1476
查看次数

Java 8 DateFormatBuilder API构建ISO8601日期格式

我正在尝试构建ISO 8601格式("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").我使用Java 8 DateFormatBuilder来解析ISO 8601格式的字符串.

当我遇到UTC时间格式的输出是"2016-11-01T16:51:35.000Z",但我真正需要的是00:00而不是Z.我尝试使用DateFormatBuilder构建但没有成功.

我终于完成了以下工作

DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
DATETIMEFOMATTER = builder.parseCaseInsensitive()
                .append(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
                .toFormatter();

ZonedDateTime zonedDate = ZonedDateTime.parse(date, DATETIMEFOMATTER);
        String utcDate = zonedDate.format(FORMATTER);
        if (utcDate.indexOf("Z") != -1){
            utcDate = utcDate.replace("Z", "-00:00");
        }
Run Code Online (Sandbox Code Playgroud)

我不想解析字符串并用"00:00"替换Z. Joda API更易于使用.有没有想过我们是否可以使用Java 8 DateTimeFormatterBuilder构建?我确实提到了一些stackoverflow问题,但没有工作.我可能做错了什么.有人可以帮忙吗?

date-formatting java-8

1
推荐指数
1
解决办法
7716
查看次数