
@Entity 어노테이션을 사용해 정의@Lob 어노테이션이 붙은 필드를 대용량 데이터로 취급해BLOB 또는 CLOB 컬럼에 저장하도록 지정@NoArgsConstructor는 Lombok에서 제공하는 어노테이션으로,Entity 클래스에 왜 @NoArgsConstructor를 사용할까?
1. JPA가 프록시 생성을 위해 필요
@NoArgsConstructor를 사용한다.@NoArgsConstructor를 사용해 자동으로 생성한다.💡access = AccessLevel.PROTECTED
2. Spring에서 리플렉션을 사용할 때 필요
@Entity
@NoArgsConstructor(access = AccessLevel.PUBLIC)
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
@Lob
private String content;
}
final을 선언할 수 없다.@RequiredArgsConstructor - LombokLombok이 제공하는 어노테이션으로,final)만을 포함하는 생성자를 자동으로 생성@RequiredArgsConstructor는 생성자 주입이 자동으로 적용된다.@RequiredArgsConstructor
public class OrderService {
private final PaymentService paymentService; // 생성자 주입 대상
public void processOrder() {
paymentService.pay();
}
}
@RequiredArgsConstructor에 의해Lombok이 자동으로 아래와 같은 생성자를 만들어 준다.public OrderService(PaymentService paymentService) {
this.paymentService = paymentService;
}
Mock 객체 초기화Mock 객체 활용Mock과 Stub 활용 - 외부 의존성 제거, 예상된 동작 시뮬레이션@BeforeEach와 @AfterEach 사용 - 테스트 전후 초기화 및 정리 작업 @BeforeEach
void clean(){
postRepository.deleteAll();
}