Lombok으로 스프링에서 DI(의존성 주입)의 방법 중에 생성자 주입을 임의의 코드 없이 자동으로 설정해주는 어노테이션이다.새로운 필드를 추가할 때 다시 생성자를 만들어서 관리해야하는 번거로움을 없애준다.@Autowired를 사용하지 않고 의존성을 주입해준다.자동적으
실제 객체와 비슷하지만 테스트에 필요한 기능만 가지는 가짜 객체를 만들어서 애플리케이션 서버에 배포하지 않고도 스프링 MVC동작을 재현할 수 있는 클래스를 의미한다.내가 Controller 테스트를 하고싶을 때 실제 서버에 구현한 애플리케이션을 올리지 않고(실제 서블릿
@RequestParam은 사용자가 전달하는 값을 1:1로 매핑해주는 애노테이션으로 보통 파라미터를 통해 값을 전달할 때 자주 사용한다.위 방법처럼 클라이언트에서 전달 받은 파라미터를 param으로 받을 수 있다.클라이언트가 보낸 key-value 형태의 쿼리 변수에
JSON 형식을 사용할 때, 응답(response)들을 직렬화하고 요청(request)들을 역질렬화 할 때 사용하는 기술이다. JSON(Javascript Object Notation)"키:값" 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를
@NoArgsConstructor 어노테이션은 파라미터가 없는 디폴트 생성자를 자동으로 생성한다.이 어노테이션을 사용하면, 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있다.@NoArgsConstructor를 사용하면 코드는 다음과 같아진다.참고로

객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다.id, name은 객체의 입장에서 볼 때 계속 나온다.이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아서 사용하고 싶을 때 @MappedSuperclass를 사용한다.단순히 매핑 정보를
객체를 정의하고 그 객체를 생성할 때 보통 생성자를 통해 생성하는 것을 생각한다. 하지만 그 생성자를 통해 객체를 생성하는데 몇 가지 단점이 있어 객체를 생성하는 별도 builder를 두는 방법이 있는데 이를 빌더 패턴이라고 한다.객체를 생성할 수 있는 빌더를 buil
모든 작업들이 성공적으로 완료되어야 작업 묶음의 결과를 적용하고, 어떤 작업에서 오류가 발생했을 때는 이전에 있던 모든 작업들이 성공적이었더라도 없었던 일처럼 완전히 되돌리는것이 트랜잭션의 개념이다.데이터베이스를 다룰 때 트랜잭션을 적용하면 데이터 추가, 갱신, 삭제
@Data 어노테이션은 Lombok 라이브러리에서 제공하는 어노테이션이다.@Data : @Getter, @Setter, @ToString, @ EqualsAndHashCode, @RequiredArgsConstructor 모두를 자동으로 적용해준다.단, callSupe