小编Aka*_*ran的帖子

为什么hibernate-java8(hibernate 5.x)jar被弃用?

Hibernate 5及以上版本通过jar"hibernate-java8"支持Java8 DateTime Api.
但是MavenRepository显示了一条消息Deprecated - 使用hibernate-core代替)和hibernate-java8 jar的标题.

为什么hibernate-java8 jar被称为弃用,即使它需要获得对java8的hibernate支持?

maven repository hibernate-java8

deprecated java-8 hibernate-5.x

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

Jackson注释JsonFormat $ Value json java.lang.NoSuchMethodError

com.fasterxml.jackson.core:jackson-annotations:2.6.0在我的gradle项目中使用.自从添加com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.0到我的项目构建文件后,我在运行gradle项目时遇到了这个异常.这是我的错误的堆栈跟踪.

引起:org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:构造函数抛出异常; 嵌套异常是java.lang.NoSuchMethodError:com.fasterxml.jackson.annotation.JsonFormat $ Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat $ Value; org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory .instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)... 117更多引起:java.lang.NoSuchMethodError:com.fasterxml.jackson.annotation.JsonFormat $ Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat $ Value; at com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:50)at com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535)at com.fasterxml.jackson.databind.ObjectMapper.( ObjectMapper.java:452)org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553)org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)at org. springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)atg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.l ang.reflect.Constructor.newInstance(Constructor.java:422)at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)... 119 more嵌套在org.springframework.beans.factory.BeanCreationException:创建错误bean名称为'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter':bean的实例化失败; 嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:构造函数抛出异常; 嵌套异常是java.lang.NoSuchMethodError:com.fasterxml.jackson.annotation.JsonFormat $ Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat $ Value;:java.lang.NoSuchMethodError:com.fasterxml.jackson.annotation .JsonFormat $ Value.empty()LCOM/fasterxml /杰克逊/注解/ JsonFormat $值; at com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:50)at com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535)at com.fasterxml.jackson.databind.ObjectMapper.( ObjectMapper.java:452)org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553)org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)at org. springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)atg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.l org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)中的ang.reflect.Constructor.newInstance(Constructor.java:422). 89)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)在org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)在1 org.springframework.beans.factory.support.AbstractBeanFactory $. org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.ge中的getObject(AbstractBeanFactory.java:306)tSingleton(DefaultSingletonBeanRegistry.java:230)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)位于org.springframework.context.support.AbstractApplicationContext的org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) .refresh(AbstractApplicationContext.java:538)org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)at org. org.mortbay.jetty.handler.ContextHandl上的springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)org.mortbay.jetty.servlet.Context.startContext(Context.java:136)中的or.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)的or.startContext(ContextHandler.java:548) .mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)在org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)在org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext .doStart(JettyPluginWebAppContext.java:112)在org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)在org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)在org.mortbay. jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)在org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)在org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerW)rapper.java:130)org.mortbay.jetty.Server.doStart(Server.java:224)org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)org.gradle.api.plugins.jetty .internal.Jetty6PluginServer.start(Jetty6PluginServer.java:111)org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal(AbstractJettyRunTask.java:238)at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty(AbstractJettyRunTask .java:191)atg.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java) :62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:497)在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod. java:75)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory …

java spring jackson json-deserialization zoneddatetime

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

何时选择 @RequestParam 而不是 @PathVariable,反之亦然?

我知道什么@RequestParam是 以及@PathVariable单个注释的作用,但我的问题是在构建 URL 时,我应该何时使用@RequestParam以及何时使用@PathVariable?使用这两种注释有何优缺点?

我确实浏览了这个链接When to go for @RequestParam 和 @PathVariable但在任何地方都没有得到满意的答案。

java spring-mvc

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

在两个 around 函数之间传递对象 - AOP

我正在对我的控制器、服务和 Dao 层进行审计。我有三个 around 方面函数,分别用于 Controller、Service 和 Dao。我使用自定义注释,如果控制器方法上存在该注释,则会调用 around 方面函数。在注释中,我设置了一个属性,希望将其从 Aspect 类内的 Controller around 函数传递到 Service around 函数。

public @interface Audit{
   String getType();
}
Run Code Online (Sandbox Code Playgroud)

我将从接口设置此 getType 的值。

@Around("execution(* com.abc.controller..*.*(..)) && @annotation(audit)")
public Object controllerAround(ProceedingJoinPoint pjp, Audit audit){
  //read value from getType property of Audit annotation and pass it to service around function
}

@Around("execution(* com.abc.service..*.*(..))")
public Object serviceAround(ProceedingJoinPoint pjp){
  // receive the getType property from Audit annotation and execute business logic
}
Run Code Online (Sandbox Code Playgroud)

如何在两个 around 函数之间传递对象?

annotations aspectj spring-mvc auditing spring-aop

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

交叉连接两个列表java

我有一个ABC类,它包含两个整数字段

public class ABC{
  private Integer x;
  private Integer y;

   // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我有两个列表:xValues和yValues,它们分别包含x和y值的整数列表.

List<Integer> xValues = fetchAllXValues();  //say list xValues contains {1,2,3}
List<Integer> yValues = fetchAllYValues();  //say list yValues contains {7,8,9}
Run Code Online (Sandbox Code Playgroud)

现在我想要的是使用xValues列表的每个值与yValues列表的每个值创建一个ABC对象.我不想使用嵌套for循环.什么是更有效的解决方法?

ABC的示例输出对象是:

     ABC(1,7);
     ABC(1,8);
     ABC(1,9);
     ABC(2,7);
     ABC(2,8);
     ABC(2,9);
     ABC(3,7);
     ABC(3,8);
     ABC(3,9);
Run Code Online (Sandbox Code Playgroud)

list nested-loops java-8

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