업데이트를 위해 Service 클래스를 작성한다.
Q. 왜 update만 Service 에서 관리하나요?
- Repository 에 update 메소드가 없기 때문
- @Transactional 이라는 어노테이션을 통해, 찾은 객체의 데이터를 변경할 경우 DB에 반영되도록 설정한 것
@Service
스프링에게 이 클래스는 서비스임을 명시
private final CourseRepository courseRepository;
final: 서비스에게 꼭 필요한 녀석임을 명시
public CourseService(CourseRepository courseRepository)
생성자를 통해, Service 클래스를 만들 때 꼭 Repository를 넣어주도록
스프링에게 알려줌
@Transactional
SQL 쿼리가 일어나야 함을 스프링에게 알려줌