I以下Spring
コントローラがあります。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を学んでいて、理由が来るたびにAtomicLong
の新しいインスタンスが作成されている必要があるため、常に1を返すとは限りません。
なぜ新しいインスタンスが作成されていると思いますか? – chrylis
@chrylis:私はもともと.netの背景から来て、ちょうどそれとの比較を持っていました。 –