Controller에서는 어떤 작업을 처리하는 게 아니라, Service에서 작업을 처리하고 그 처리된 작업을 넘겨주기만 함.
DB 저장 방식이 바뀌어도 컨트롤러가 바뀔 필요는 없음.
데이터를 다루는 작업은 Repository에서 함.
@Component
: 단 한번만 생성되고 그 이후에는 재사용되는 객체라는 의미를 부여함.
@Autowired
로 자동 연결. 필드 주입. new
안해도 객체를 주입해주는 것.
@RequiredArgsConstructor
는 final
붙은 멤버변수를 가진 생성자를 자동으로 만들어 줌.
필드 주입보다는 생성자 주입을 많이 사용함.