애너테이션은 소스 코드가 컴파일되거나 실행될 때 컴파일러 및 다른 프로그램에게 필요한 정보를 전달해 주는 문법 요소입니다.
@Override
@Override는 메서드 앞에만 붙일 수 있는 애너테이션으로, 선언한 메서드가 상위 클래스의 메서드를 오버라이딩하거나 추상 메서드를 구현하는 메서드라는 것을 컴파일러에게 알려주는 역할을 수행합니다.
@Deprecated
@Deprecated는 기존에 사용하던 기술이 다른 기술로 대체되어 기존 기술을 적용한 코드를 더 이상 사용하지 않도록 유도하는 경우에 사용합니다.
@FunctionalInterface
@FunctionalInterface 애너테이션은 함수형 인터페이스를 선언할 때, 컴파일러가 함수형 인터페이스의 선언이 바르게 선언되었는지 확인하도록 합니다. 만약 바르게 선언되지 않은 경우, 에러를 발생시킵니다. 참고로, 함수형 인터페이스는 단 하나의 추상 메서드만을 가져야 하는 제약이 있습니다.
표준 애너테이션 종류
자바의 내장 표준 에너테이션
- @Override
- @Deprecated
- @SuppressWarnings
- @SafeVarargs
- @FunctionalInterface
- @Retention
- @Documented
- @Target
- @Inherited
- @Repeatable
- @Native
스프링 프레임워크의 주요 표준 에너테이션
- @Required
- @Autowired
- @Qualifier
- @Primary
- @Value
- @Component
- @Service
- @Repository
- @Controller
- @RestController
- @RequestMapping
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- @PatchMapping
- @ResponseStatus
- @RequestBody
- @ResponseBody
- @ModelAttribute
- @PathVariable
- @RequestParam
- @SessionAttributes
- @CookieValue
- @ExceptionHandler
- @Transactional
- @EnableTransactionManagement
- @EnableAspectJAutoProxy
- @Aspect
- @Before
- @After
- @AfterReturning
- @AfterThrowing
- @Around
- @Configuration
- @Bean
- @Profile
- @Scope
- @Import
- @Lazy
'코딩공부' 카테고리의 다른 글
| Java Stream의 개념 (0) | 2024.04.22 |
|---|---|
| Java Lambda의 개념 (1) | 2024.04.22 |
| Java Collection class 종류 정리 (0) | 2024.04.19 |
| Java Map (2) | 2024.04.19 |
| Java Collection Set (0) | 2024.04.19 |