Annotation이란?
- 사전적 의미로는 주석이라는 뜻이다.
- 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다.
- 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다
| Anotation | 제약조건 |
| @ComponentScan |
|
| @Component |
|
| @Bean |
|
| @Autowired |
|
| @Controller |
|
| @RestController |
|
@Controller 와 @RestController 의 차이 @Controller API와 view를 동시에 사용하는 경우에 사용한다. 대신 API 서비스로 사용하는 경우는 @ResponseBody를 사용하여 객체를 반환한다. view(화면) return이 주목적이다. @RestController view가 필요없는 API만 지원하는 서비스에서 사용한다. Spring 4.0.1부터 제공 @RequestMapping 메서드가 기본적으로 @ResponseBody 의미를 가정한다. data(json, xml 등) return이 주목적이다. 즉 @RestController = @Controller + @ResponseBody 이다. |
|
| @Service |
|
| @Repository |
|
| @SpringBootApplication |
|
| @RequestMapping |
|
| @GetMapping |
|
| @Valid |
|
| @RequestAttribute |
|
| @RequestBody |
|
| @RequestHeader |
|
| @RequestParam |
|
| @ResponseBody |
|
| @PathVariable |
|
Lombok Annotation
| Anotation | 제약조건 |
| @NoArgsConstructor |
|
| @AllArgsConstructor |
|
| @RequiredArgsConstructor |
|
| @Getter |
|
| @Setter |
|
| @Builder |
|
JPA Annotation
- JPA를 사용하면 DB 데이터에 작업할 경우 실제 쿼리를 사용하지 않고 Entity 클래스의 수정을 통해 작업한다
| Anotation | 제약조건 |
| @Entity |
|
| @Table |
|
| @Id |
|
| @GeneratedValue |
|
| @Column | 테이블의 컬럼을 나타내며, 굳이 선언하지 않더라도 해당 Class의 필드는 모두 컬럼이 된다.
|
Validation Annotation ( @Valid)
| Anotation | 제약조건 |
| @NotNull | Null 불가 |
| @Null | Null만 입력 가능 |
| @NotEmpty | Null, 빈 문자열 불가 |
| @NotBlank | Null, 빈 문자열, 스페이스만 있는 문자열 불가 |
| @Size(min=,max=) | 문자열, 배열등의 크기가 만족하는가? |
| @Pattern(regex=) | 정규식을 만족하는가? |
| @Max(숫자) | 지정 값 이하인가? |
| @Min(숫자) | 지정 값 이상인가 |
| @Future | 현재 보다 미래인가? |
| @Past | 현재 보다 과거인가? |
| @Positive | 양수만 가능 |
| @PositiveOrZero | 양수와 0만 가능 |
| @Negative | 음수만 가능 |
| @NegativeOrZero | 음수와 0만 가능 |
| 이메일 형식만 가능 | |
| @Digits(integer=, fraction = ) | 대상 수가 지정된 정수와 소수 자리 수 보다 작은가? |
| @DecimalMax(value=) | 지정된 값(실수) 이하인가? |
| @DecimalMin(value=) | 지정된 값(실수) 이상인가? |
| @AssertFalse | false 인가? |
| @AssertTrue | true 인가? |
참고자료:
https://velog.io/@ruinak_4127/Annotation%EC%9D%B4%EB%9E%80
@ Annotation이란?
@Annotation, @Reflection, @Lombok Annotation, @JPA Annotation
velog.io
https://bamdule.tistory.com/35
[Spring Boot] @Valid 어노테이션으로 Parameter 검증하기
java.validation의 @Valid 어노테이션 사용법 정리 글입니다. Spring Boot 라이브러리에서 기본적으로 탑재된 기능이며 따로 dependency해 줄 필요가 없습니다. Spring Boot Version은 2.2.2.RELEASE 입니다. 1. java.valid
bamdule.tistory.com
'Coding > Spring' 카테고리의 다른 글
| [12] 정규식(regex, rational expression) (0) | 2022.12.06 |
|---|---|
| [11] Database 와 SQL (0) | 2022.12.06 |
| [09] 스프링 MVC 이해 (0) | 2022.12.04 |
| [08] 웹 동작방식 (0) | 2022.12.04 |
| [07] 항해99 주특기 입문 1주차 - 주특기 시험 (API 구현) (3) | 2022.12.01 |