내일배움캠프/TIL

[Spring]_ Framework

cork-7 2025. 1. 23. 20:21

 

1) Annotation (코드에 특별한 의미를 부여하거나 , 컴파일러와 런타임에 특정 동작을 트리거하기위해 사용)

- 어노테이션은 특정코드를 사용하는 프로그램에게 정보를 전달

- 주로 @기호로 시작하며 클래스,메소드,변수,매계변수,페키지등에 추가

 

-- 내장 어노테이션

- @override

      메소드가 상위 클래스나 인터페이스의 메소드로를 오버라이드 하고 있음을 표시

- @Deprecated

     해당 요소가 더이상 사용안함을 나타냄(사용시 컴파일경고 발생)

- @SuppressWarnings

    컴파일러 경고를 억제(사용되지 않는 변수의 경고를 무시)

- 사용자 정의 어노테이션

  개발자가 필요에 따라 정의

  AOP기술과 특정 메타데이터를 결합해 구현

 

2) Lombok

- 보일러 플레이트 코드를 줄여주는 라이브러리(가동성 유지보수성 상승)

- 어노테이션을 기반으로 동작

- 컴파일 시점 소스코드를 변환하여 필요 메소드 자동생성

❓보일러 플레이트 코드(Boilerplate code)란?
- getter/setter 메소드, 생성자, toString 메소드 등과 같이 반복적으로 작동되는 코드

 

-- 주요 Lombok Annotation

- @Getter, @Setter

클래스의 모든 필드에 대한 getter와 setter 메소드를 자동으로 생성

 

- @toString

객체의 toString() 메소드를 자동 생성

기본적으로 클래스의 모든 필드를 포함(특정 필드를 제외하거나 포멧가능)

 

- @EqualsAndHashCode

equals()와 hashCode()를 자동 생성

 

- @NoArgsConstructor@AllArgsConstructor@RequiredArgsConstructor

기본생성자 생성

모든 필드를 매개변수로 하는 생성자 생성

final 필드만을 매개변수로 하는 생성자 생성

 

- @Data

@Getter@Setter@ToString@EqualsAndHashCode,@RequiredArgsConstructor를 한꺼번에 적용하는 어노테이션이다. 

주로 테스트 용도로 사용

 

- @Slf4j

클래스에  로그를 남기기 위한 Logger 객체를 자동생성

'내일배움캠프 > TIL' 카테고리의 다른 글

[Spring]_MVC  (0) 2025.01.23
[Spring]_ Web의 기초  (0) 2025.01.22
[JAVA]_다양한 자료구조  (0) 2025.01.20
[JAVA] 키오스크 트레블 슈팅 Lv6  (0) 2025.01.20
[JAVA] 키오스크 트레블 슈팅 Lv3~Lv4  (0) 2025.01.20