ConcurrentHashMap, AtomicLong
@Controller
@RequestMapping("/basic/items")
public class BasicItemController {
private final ItemRepository itemRepository;
@Autowired
public BasicItemController(ItemRepository itemRepository) {
this.itemRepository = itemRepository;
}
}
위 코드의 실행 과정은 BasicItemController가 스프링 빈에 등록되면서 생성자 주입을 통해서 itemRepository도 스프링 빈에 등록 된다.
위 코드는 RequiredArgsConstructor 을 통해서 단순화 할 수 있다.
@Controller
@RequestMapping("/basic/items")
@RequiredArgsConstructor
public class BasicItemController {
private final ItemRepository itemRepository;
}