我有以下Spring
控制器:弹簧MVC RestController范围
package hello;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/test")
public String test() {
long val = counter.incrementAndGet();
return String.valueOf(val);
}
}
每次我访问REST API,它返回一个递增的值。 我刚刚学习Java,我想知道为什么它不总是返回1,因为每次请求发出时都必须创建AtomicLong
的新实例。
你为什么认为它正在创建一个新实例? – chrylis
@chrylis:我来自.net背景,只是与它进行比较。 –