| 컨트롤러 | @Controller | 뷰 반환용 컨트롤러 클래스 지정 |
| @RestController | JSON/XML 데이터 반환용 컨트롤러 (@Controller + @ResponseBody) |
| @RequestMapping | URL, HTTP 메서드 매핑 (클래스/메서드 단위) |
| @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping | @RequestMapping의 축약형 (HTTP 메서드 전용) |
| @PathVariable | URL 경로 변수 매핑 (/users/{id} → Long id) |
| @RequestParam | 쿼리 파라미터 매핑 (?name=value) |
| @RequestBody | 요청 Body(JSON 등)를 DTO로 매핑 |
| @ResponseBody | 반환값을 HTTP 응답 body에 직접 작성 |
| 빈 & DI | @Component | 스프링 빈 등록 (일반 클래스) |
| @Service | 서비스 레이어 클래스 지정 |
| @Repository | DAO/Repository 레이어 지정, 예외 변환 지원 |
| @Configuration | 설정 클래스 지정 (@Bean 등록 가능) |
| @Bean | 직접 생성한 객체를 빈으로 등록 |
| @Autowired | 타입 기반 의존성 주입 |
| @Qualifier | 동일 타입 빈이 여러 개일 때 이름 지정 |
| @Value | application.properties / yml 값 주입 |
| @Scope | 빈 스코프 설정 (singleton, prototype 등) |
| Lombok | @Getter, @Setter | Getter / Setter 자동 생성 |
| @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor | 생성자 자동 생성 |
| @Builder | 빌더 패턴 자동 생성 |
| @Data | @Getter, @Setter, @EqualsAndHashCode, @ToString 등 포함 |
| @EqualsAndHashCode, @ToString | equals/hashCode, toString 자동 생성 |
| @Slf4j | 로그 객체 자동 생성 (log.info() 등 사용 가능) |
| REST & 데이터 | @ResponseStatus(HttpStatus.XXX) | 특정 상태 코드 반환 |
| @CrossOrigin | CORS 허용 설정 |
| @ExceptionHandler | 컨트롤러 단위 예외 처리 |
| @ControllerAdvice | 전역 예외 처리, 공통 설정 |
| @Valid, @Validated | DTO 검증 (@NotNull, @Size 등과 함께 사용) |
| @Entity | JPA 엔티티 클래스 지정 |
| @Table, @Column, @Id, @GeneratedValue | JPA 매핑 어노테이션 |
| 기타 | @Transactional | 트랜잭션 관리 |
| @SpringBootApplication | 스프링부트 실행 핵심 어노테이션 |
| @EnableAutoConfiguration | 스프링 자동 설정 활성화 |
| @EnableScheduling | 스케줄링 활성화 (@Scheduled) |
| @EnableAsync | 비동기 실행 활성화 (@Async) |
| @Profile | 특정 환경(dev, prod)에서만 빈 등록 |