본문 바로가기
Web developer/Spring

[Spring] Annotation @정리1

by doongjun 2021. 4. 18.

Spring에 대해 공부하면서 annotation이 계속 생소했다.

다양한 annotation에 대해 앞으로 계속 정리해보려고 한다.


Annotation이란?

어노테이션은 xml 설정이 너무 길어짐에 따라 그 대안으로 나타났다.  어노테이션이란 본래 주석이라는 뜻으로 인터페이스를 기반으로 한 문법이다. 주석처럼  코드에 달아 클래스에 특별한 의미를 부여하거나, 기능을 주입할 수 있다. 또 해석되는 시점을 정할 수도 있다.

 

어노테이션을 세가지로 분류할 수 있다.

  • Built-in annotation - JDK에 내장된 어노테이션
  • Meta annotation - 어노테이션에 대한 정보를 나타내기 위한 어노테이션
  • Custom annotation - 개발자가 정의한 어노테이션

Built-in Annotation

@Override
  • 선언한 메소드가 오버라이딩 되었다는 것을 표시
  • 이전에 메소드를 선언해놓지 않았다면 컴파일 에러 발생
@Deprecated
  • 해당 메소드가 더 이상 사용되지 않음을 표시
  • 해당 메소드를 사용할 경우 컴파일 경고 발생
@SuppressWarnings
  • 선언한 곳의 컴파일 경고를 무시
@SafeVarargs
  • 선언한 메소드가 오버라이딩 되었다는 것을 표시
  • 이전에 메소드를 선언해놓지 않았다면 컴파일 에러 발생
@FunctionalInterface
  • 함수형 인터페이스를 지정
  • 메소드가 존재하지 않거나 1개 초과의 메소드가 존재할 경우 컴파일 에러 발생

 

※ context:component-scan

특정 패키지 안의 클래스들을 스캔하고, 어노테이션을 확인한 후 bean 인스턴스를 생성한다.

@Component, @Controller, @Service, @Repository 등의 어노테이션이 존재해야 bean을 생성할 수 있다.

@Autowired와 @Qualifier Annotation을 인식할 수 있다는 장점이 있다.

 

 

참고:

lng1982.tistory.com/89

 

spring meta annotation 정리

스프링 메타 애노테이션 이란? 스프링에서는 기본적으로 클래스 선언부 위에 @Component 애노테이션이 붙어 있으면 스프링 빈으로 생성한다. 하지만 실무에서는 다음과 같이 한다. Controller 클래스

lng1982.tistory.com

 

asfirstalways.tistory.com/309

 

[JAVA Adv] Annotaion 에 대해서,

Annotaion (어노테이션인가, 애너테이션인가, 애노테이션인가) 도입 배경 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시키기 위해서이다. 어노테이션 이전

asfirstalways.tistory.com

gmlwjd9405.github.io/2018/12/18/spring-annotation-enable.html

 

[Spring] Spring Annotation 활성화 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

'Web developer > Spring' 카테고리의 다른 글

[Spring] Swagger를 사용하여 Web API 문서화 해보기  (0) 2021.08.02
[Spring] IoC & DI  (0) 2021.07.27
[Spring] Annotation @정리2  (0) 2021.04.18
[Spring] DAO와 Mapper의 차이  (0) 2021.04.18
[Spring] MVC Model 2  (0) 2021.04.18

댓글