일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- kafka
- SpringSecurity
- jwt
- 자바
- 알고리즘
- 한이음
- 문자열함수
- 회고록
- c
- github
- Django
- 선택정렬
- 코테
- 자료구조
- 문자열압축
- 백준
- 협업도구
- 코딩테스트
- kafkaconsumer
- java
- AWS
- codingtest
- 기록
- 기술블로그
- git
- 공부기록
- testcode
- 시스템프로그래밍
- 트러블슈팅
- IT
Archives
- Today
- Total
신뇽이 되어보자
[Spring] @RequiredArgsConstructor 본문
728x90
스프링 강의를 듣다보니 코드를 스프링에 대한 이해없이 짰다는 것을 느끼게 되었다.
느끼게 된 것 중 하나는 의존성 주입 방법에 있었는데
일단 의존성 주입 방법들 중에서 유연한 테스트 코드를 작성할 수 있는 생성자 주입방식으로 작성을 해야하는데 나는 모두
필드 주입 방식으로 코드를 작성해서 생성자 주입방식으로 바꾸자라고 생각을 했다.
그런데 생성자 주입 방식으로 바꾼 결과 뜬금없이 위에서 에러가 터지기 시작했다.
허허 여기서 느꼈다. 나는 알고 개발한 것이 아니였다 라는 것을...
@RequiredArgsConstructor 이라는 어노테이션이 내뿜는 에러메시지는
Constructor with '4' parameters is already defined
라는 것이었다.
이미 @RequiredArgsConstructor가 자동으로 생성자 주입에 대한 코드를 생성해준 것이었다.
그렇다면 @Autowired라는 어노테이션은 필요없지 않은가?
이는 Lombok에서 지원해주는 어노테이션이고,
이를 사용해주지 않는다면 생성자를 직접 만들어서 의존성을 주입해야할 것이다.
핵심을 말하자면,
@RequiredArgsConstructor어노테이션은 클래스에 선언된 final변수들, 필드들을 매개변수로 하는 생성자를 자동으로 생성해주는 어노테이션이다.
728x90
'Spring' 카테고리의 다른 글
[Spring] Spring Security + JWT 사용자 인증(1) - 로그인 & 토큰 발급 (0) | 2025.01.31 |
---|---|
[Spring] Spring Security란? (1) | 2025.01.30 |
[Spring] DAO Test 하다가 실수하기 좋은 포인트 (0) | 2024.04.13 |
[Spring] Test 폴더 생성하고 Junit을 사용하여 TestCode 작성하기 (0) | 2024.04.13 |
[IntelliJ] 인텔리제이 Spring과 DB연동하기(Oracle) (0) | 2024.04.13 |