Spring 어노테이션@ 간단설명모음
JAVA오브젝트로 자동 변환해준다. (Controller기준 받는 입장)
- 외부API에서 name으로 넘긴 값을 String name에 저장함.
- Autowired/생성자/setter 이렇게 총 3가지 방법으로 의존성을 주입받을 수 있다.
- 경로변수는 {id}로 둘러싸인 값을 의미한다.
- 주로 상세조회, 수정, 삭제 등의 작업에서 리소스 식별자로 사용된다.
하이버네이트가 오브젝트를 대신 갱신한다.
*빌더 패턴이란? : 생성자에 파라미터를 주입하여 생성하는것이 아닌, 별도의 Builder를 두어서 객체를 생성하는것을 말한다.
생성자가 없는경우 : 모든 맴버 변수를 파라미터로 받는 기본 생성자 생성
생성자가 있는 경우 : 따로 생성자를 생성하지 않음
@Getter/@Setter/@ToString/@EqualsAndHashCode/@RequiredArgsConstructor를 자동으로 적용시켜준다.
@NonNull이나 final이 붙은 필드값 들에 대해 생성자를 자동으로 생성해준다. ( @Autowired를 사용하지 않고 의존성주입이 가능하다)
해당 어노테이션을 사용하면 클래스가 의존하고 있는 필드를 간단하게 초기화할 수 있다.
해당 어노테이션을 사용하면 클래스의 모든 필드값을 한 번에 초기화할 수 있다.
해당 어노테이션을 사용하면 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있다.
개발자가 실수로 클래스의 필드 중 하나의 필드에 대한값 설정을 누락 시킬수도 있어, 객체는 불완전한 상태가 되어버린다.
이를 방지하고자 모든 필드값을 가지도록 강제하고 싶다면, AccessLevel.PROTECTED 속성을 부여해줘 해결할 수 있다.
다음과 같은 속성을 부여해주면, 기본 생성자의 접근 제어가되어 IDE단계에서 누락을 방지할 수 있다.
- equals는 두 객체의 내용이 같은지, 동등성을 비교하는 연산자이다.
- hashcode는 두 객체가 같은 객체인지, 동일성을 비교하는 연산자 이다.