스프링 입문

  • https://inf.run/ydaM 을 듣고 공부한 레포지토리입니다.
  • 스프링 기반의 웹 MVC 의 전반적인 흐름을 이해한다.

스프링 빈과 의존 관계

  • DI (Dependency Injection) 의존성 주입
    • 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있도록 의존관계를 외부에서 설정해주는 것
    • 생성자에 @Component 가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다.
  • 자바 코드로 직접 스프링 빈 등록하기
    • spring config 파일 내에, @Bean 어노테이션으로 스프링 빈 생성

JPA

  • 기존의 반복 코드 및 SQL도 JPA가 직접 만들어 실행해준다.
  • @Entity : JPA가 관리하는 클래스.
  • 서비스 계층에 @Transactional 추가.
    • 스프링은 해당 클래스의 메서드를 실행할 때, 트랜잭션을 시작하고, 메서드가 정상 종료되면 트랜잭션을 커밋.
    • 런타임 예외가 발생하면 롤백한다.
    • JPA를 통한 모든 데이터 변경은 트랜잭션 안에서 실행해야한다.

AOP

  • 만약 모든 메서드의 호출시간을 측정하고싶다면 -> 공통 관심사항