🤔 @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;
💪 출처 및 도움주신분들
'키워드' 카테고리의 다른 글
JPA 양방향 관계 매핑시 주의 사항 (0) | 2022.02.17 |
---|---|
Mac M1에서 Oracle Cloud ubuntu 환경 접속 후 MariaDB 설치까지 (0) | 2022.02.15 |
@RequestBody @RequestParam @PathVariable (0) | 2022.02.04 |
M1 Pro MariaDB homebrew 설치 사이트 추천 (0) | 2022.01.19 |
[Spring] 필드 주입, 생성자 주입을 써야하는 이유 (0) | 2022.01.13 |