@RequiredArgsConstructor

2023. 2. 24. 12:00@Annotaion Book

@RequiredArgsConstructor 어노테이션은 Lombok 라이브러리에서 제공하는 어노테이션 중 하나로, 생성자를 자동으로 생성해주는 기능을 제공합니다. @RequiredArgsConstructor 어노테이션을 사용하면 클래스에 선언된 모든 final 필드를 가지고 생성자를 자동으로 생성해줍니다.

@RequiredArgsConstructor 어노테이션을 사용하면 생성자를 직접 작성하지 않아도 되므로, 코드를 간결하게 유지할 수 있습니다. 또한, 필드의 개수가 많아지는 경우 생성자 작성이 번거로워질 수 있는데, @RequiredArgsConstructor 어노테이션을 사용하면 이러한 불편함을 줄일 수 있습니다.

아래는 @RequiredArgsConstructor 어노테이션을 사용한 예시 코드입니다.

@RequiredArgsConstructor
@Service
public class UserServiceImpl implements UserService {

    private final UserRepository userRepository;
    private final PasswordEncoder passwordEncoder;
 
    // ...
}

 

위 코드에서는 @RequiredArgsConstructor 어노테이션을 사용하여 UserServiceImpl 클래스에 생성자를 자동으로 생성하도록 설정하고 있습니다. UserServiceImpl 클래스에서는 final로 선언된 userRepository와 passwordEncoder 필드가 생성자의 파라미터로 자동으로 포함됩니다. 이렇게 생성된 생성자를 사용하여 객체를 생성할 수 있습니다.

@RequiredArgsConstructor 어노테이션은 @AllArgsConstructor 어노테이션과 함께 사용될 수도 있습니다. @AllArgsConstructor 어노테이션은 클래스에 선언된 모든 필드를 가지고 생성자를 자동으로 생성해줍니다. 따라서, @AllArgsConstructor 어노테이션을 사용하면 final이 아닌 필드에 대해서도 생성자를 자동으로 생성할 수 있습니다.

'@Annotaion Book' 카테고리의 다른 글

자주 사용하는 어노테이션  (0) 2023.02.24
@Data  (0) 2023.02.24
@RestController  (0) 2023.02.24
@PreAuthorize  (0) 2023.02.24
@PathVariable  (0) 2023.02.24