키워드
@RequiredArgsConstructor 란?
벨보이
2022. 2. 8. 10:42
🤔 @RequiredArgsConstructor 란?
기존에 필드주입으로 사용하던 @Autowired 구문을 생성자 주입으로 바꾸려던중 기존에 제대로 알고 사용하지 못했던
@RequiredArgsConstructor 가 필드 생성자가 이미 준비 되어었다는 구문을 확인하고 생성자 주입을 제거하고
필드 주입으로 변경후 @RequiredArgsConstructor를 사용했다.
🧐 처음 코드
public class QnaServiceDef implements QnaService {
private final FileSystemStorageService fileSystemStorageService;
private final ServerDeviceServiceIF serverDeviceService;
private final MessageByLocaleService messageByLocaleService;
private final QnaRepo qnaRepo;
private final QnaAttachedFileRepo qnaAttachedFileRepo;
private final QnaReplyRepo qnaReplyRepo;
@Autowired
public QnaServiceDef(FileSystemStorageService fileSystemStorageService,
ServerDeviceServiceIF serverDeviceService,
MessageByLocaleService messageByLocaleService,
QnaRepo qnaRepo,
QnaAttachedFileRepo qnaAttachedFileRepo,
QnaReplyRepo qnaReplyRepo){
this.fileSystemStorageService = fileSystemStorageService;
this.serverDeviceService = serverDeviceService;
this. messageByLocaleService = messageByLocaleService;
this.qnaRepo = qnaRepo;
this.qnaAttachedFileRepo = qnaAttachedFileRepo;
this.qnaReplyRepo = qnaReplyRepo;
}
😆 @RequiredArgsConstructor 을 사용한 코드
@RequiredArgsConstructor
public class QnaServiceDef implements QnaService {
private final FileSystemStorageService fileSystemStorageService;
private final ServerDeviceServiceIF serverDeviceService;
private final MessageByLocaleService messageByLocaleService;
private final QnaRepo qnaRepo;
private final QnaAttachedFileRepo qnaAttachedFileRepo;
private final QnaReplyRepo qnaReplyRepo;
💪 출처 및 도움주신분들