- https://inf.run/ydaM 을 듣고 공부한 레포지토리입니다.
- 스프링 기반의 웹 MVC 의 전반적인 흐름을 이해한다.
- DI (Dependency Injection) 의존성 주입
- 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있도록 의존관계를 외부에서 설정해주는 것
- 생성자에 @Component 가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다.
- 자바 코드로 직접 스프링 빈 등록하기
- spring config 파일 내에, @Bean 어노테이션으로 스프링 빈 생성
- 기존의 반복 코드 및 SQL도 JPA가 직접 만들어 실행해준다.
- @Entity : JPA가 관리하는 클래스.
- 서비스 계층에 @Transactional 추가.
- 스프링은 해당 클래스의 메서드를 실행할 때, 트랜잭션을 시작하고, 메서드가 정상 종료되면 트랜잭션을 커밋.
- 런타임 예외가 발생하면 롤백한다.
- JPA를 통한 모든 데이터 변경은 트랜잭션 안에서 실행해야한다.
- 만약 모든 메서드의 호출시간을 측정하고싶다면 -> 공통 관심사항