위로
아래
어노테이션
어노테이션(@, annotation)
- 자바 코드에 @를 이용해 주석처럼 달아서 특수한 의미를 부여한다.
- 코드가 깔끔해지고 재사용이 가능해진다.
용도
- 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다.
- 소프트웨어 개발 툴이 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
- 실행 시(런타임 시) 특정 기능을 실행하도록 정보를 제공한다.
사용 순서
- 어노테이션 정의
- 클래스에 어노테이션 배치
- 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를 획득하여 기능 실시
Reflection
- 프로그램 실행 중에 자신의 구조와 동작을 검사하고 조사하고 수정하는 것
- 컴파일 타임에 인터페이스, 필드, 메소드의 이름을 알지 못해도 실행 중에 클래스, 인터페이스,
어노테이션 종류
@Controller : Spring MVC에서 Controller로 사용되는 클래스 선언을 단순화 시켜주는 어노테이션.
@RestController : return 값을 바로 출력
@Service : 비즈니스 로직이 들어가는 Service로 사용되는 클래스임을 명시하는 어노테이션
@Repository : DB 연동 작업을 하는 DAO에 특화된 어노테이션.
@Mapper :
@RequestMapping : 클라이언트에게 요청받는 주소를 클래스와 연결시켜주는 어노테이션 (디폴트 : Get 방식)
@Autowired : 타입이 일치하는 객체를 자동으로 주입해준다. (의존성 자동 주입 어노테이션)
https://melonicedlatte.com/2021/07/18/182600.html
https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC