小编Kon*_*kov的帖子

在类和方法上定义@Transactional之间有什么区别

情况1

@Transactional
public class UserServiceImpl implements UserService {

    ...................
    public void method1(){
        try{
            method2();
        }catch(Exception e){

        }
    }
    public void method2(){

    }
}
Run Code Online (Sandbox Code Playgroud)

案例2

public class UserServiceImpl implements UserService {

    ...................
    public void method1(){
        try{
            method2();
        }catch(Exception e){

        }
    }
    @Transactional
    public void method2(){

    }
}
Run Code Online (Sandbox Code Playgroud)

在case1中,如果发生任何异常,则回滚正在工作,但在情况2中它不起作用.如果我遵循case1,是否存在任何性能问题?

java spring spring-mvc spring-transactions

57
推荐指数
4
解决办法
4万
查看次数

不推荐使用MultipartEntity类型

文档说org.apache.http.entity.mime.MultipartEntity 该类已被弃用.有人可以建议我另类吗?

我在我的代码中使用这个:

entity.addPart("params", new StringBody("{\"auth\":{\"key\":\""
            + authKey + "\"},\"template_id\":\"" + templateId + "\"}"));
entity.addPart("my_file", new FileBody(image));
httppost.setEntity(entity);
Run Code Online (Sandbox Code Playgroud)

java apache

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

为什么我们不能在switch中定义变量两次?

为什么这是非法的:

switch(x) {

case 1:
   int a = 1;
   break;
case 2:
   int a = 2;
   break;
}
Run Code Online (Sandbox Code Playgroud)

它看起来可能是合法的.这是非法的更深层原因是什么?

java switch-statement

21
推荐指数
3
解决办法
3914
查看次数

什么是@StaticMetamodel和SingularAttribute <Obj,Obj>?

我现在试图找出这个代码大约两个小时,例如在下面的类中这些字段代表什么?

import java.util.Date;
import javax.persistence.metamodel.ListAttribute;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
import java.util.UUID;

@StaticMetamodel(Address.class)
public class Address_ extends  {
    public static volatile SingularAttribute<Address, Long> id;
    public static volatile SingularAttribute<Address, UUID> personId;
    public static volatile SingularAttribute<Address, Person> person;
}
Run Code Online (Sandbox Code Playgroud)

Address.class是一个java类,它具有以下定义:

@Entity
@Table(name = "address", schema = "public")
public class Address{
    private Long id;
    private Person person;
    private UUID personId;
    //....
}
Run Code Online (Sandbox Code Playgroud)

请问您能解释一下使用的注释@StaticMetamodel@SingularAttribute注释吗?这可能很简单,但我无法理解.

java spring hibernate dependency-injection jpa

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

如何在不使用Java中的Calendar且没有时间戳的情况下获取昨天的日期?

我已经写了一个方法来获取当前日期的格式,yyyy-MM-dd并希望能够创建另一种方法来获取昨天的日期,即当前日期的前一天.所有这些需求是日期而不是时间戳.我也不想使用Calendar它.我这样设置了当前日期:

public class DateWithNoTimestamp
{
       private static final String CURRENT_DATE_FORMAT = "yyyy-MM-dd";

       public final static String getCurrentDate()
       {
               DateFormat dateFormat = new SimpleDateFormat(CURRENT_DATE_FORMAT);
               Date date = new Date();
               return dateFormat.format(date);
       } 
}
Run Code Online (Sandbox Code Playgroud)

这可以获得当前日期,现在是getYesertdayDate()我遇到麻烦的单独方法.如何getCurrentDate()在减去一天的同时以与我相同的方式进行设置?

java date date-format simpledateformat

18
推荐指数
3
解决办法
4万
查看次数

Json和Java - 循环参考

我有并且发布了循环参考.

我有Rest Webservices将对象返回到前端,问题是当我尝试返回具有多个引用的对象时,结果我得到无限响应,生成

java.lang.IllegalStateException: 
    Cannot call sendError() after the response has been committed
Run Code Online (Sandbox Code Playgroud)

这些对象是由Hibernate代码生成自动生成的,我需要在后端使用循环引用,我只需要在使用Jackson将信息发送到前端之前将其删除.

控制器方法标题是:

@RequestMapping(value="/list", method=RequestMethod.POST)
public @ResponseBody eventResponse list(@RequestBody String sessionID) {
Run Code Online (Sandbox Code Playgroud)

我没有做任何明确的转换为Json,我是一个新手,我认为杰克逊自动解决了这个问题.

java json circular-reference jackson

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

检查对象是否是给定类名的List的实例

鉴于Object o和a String className = "org.foo.Foo",我想检查是否o是实例List<className>

我试过这个但不会编译:

Class<?> cls = Class.forName(className);
if (o instanceof List<cls>){ // this gives error: cls cannot be resolved to a type
  doSomething();
}
Run Code Online (Sandbox Code Playgroud)

请注意我的输入是Object oString className(请注意类型).

java generics instanceof type-erasure

14
推荐指数
4
解决办法
4万
查看次数

Java 8 Lambdas - 相当于c#OfType

我现在正在学习新的Java 8功能,经过4年专门在C#世界,所以lambdas对我来说是最重要的.我现在正在努力寻找C#的"OfType"方法的等价物.

我所拥有的是List myNodes,我想从中获取一个List,其中Node是一个接口,而SpecificNode正在实现它.

在C#中它会是

IList<INode> myNodes = new List<INodes>(){new SpecificNode(), new OtherNode()}
IList<SpecificNode> specificNodes = myNodes.OfType<SpecificNode>()
Run Code Online (Sandbox Code Playgroud)

c# java lambda java-8

13
推荐指数
2
解决办法
1778
查看次数

Java泛型:多个边界

我有这个代码:

public class Test {

    public static void main(String[] args) {
        Test t = new Test();
        t.callTest();
    }

    public void callTest() {
        GenericTest gt = new GenericTest<Date>(); // this line don't compile
        gt.test(new Date());
    }

    class GenericTest<T extends Date & List> {
        T x;

        public void test(T y) {
            System.out.println(x.toString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我理解为什么new GenericTest<Date>()不编译,这是因为Date没有实现List接口,但是如果我实例化GenericTest gt = new GenericTest()没有泛型,整个代码工作,我不明白为什么.方法测试需要(T y)where T extends Date和implements List,但它可以使用gt.test(new Date()).

java generics

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

点运算符`.`(在通用参数之前)是什么意思?

我今天看到这个代码:

    ImmutableMap<Class<? extends ClientCommand>, CommandProcessorInterface> immutableMap =
            ImmutableMap.<Class<? extends  ClientCommand>, CommandProcessorInterface>of(...
Run Code Online (Sandbox Code Playgroud)

这个语法是什么意思?

ImmutableMap.<Class ..

我知道仿制药就在课堂名称之后.没有?

有什么区别:

ImmutableMap<Class..ImmutableMap.<Class..

java generics syntax guava

12
推荐指数
3
解决办法
1806
查看次数