[spring] 자주 사용하는 어노테이션 (작성 중) By starseat 2023-02-02 16:25:52 java/spring Post Tags Spring 으로 개발 시 자주 사용하는 `@annotation` 을 정리해 보았다. 이전에 올렸던 [JPA annotation](https://starseat.net/blog/view/103) 이 아닌 어노테이션들 이다. | 어노테이션 | 내용 | 비고 | | -- | -- | -- | | `@Getter` | 모든 필드 getter 생성(ex. public String getName() { return this.name; } | lombok | | `@Setter` | 모든 필드 setter 생성**`Entity` 클래스에선 Setter 생성 X**(ex. public void setName(String name) { this.name = name; } | lombok | | `@Builder` | 빌더 패턴 클래스 생성 생성자 상단에 선언 시 생성자에 포함된 필드만 빌더에 포함클래스 선언 상단에 추가시 모든 필드에 대한 빌더 포함 | lombok | | `@ToString` | toString 메서드 생성 | lombok | | `@NoArgsConstructor` | 파라미터가 없는 생성자 생성 (기본 생성자) | lombok | | `@AllArgsConstructor` | 모든 멤버변수를 파라미터로 받는 생성자 생성 | lombok | | `@RequiredArgsConstructor` | final 필드를 지정하여 선언한 생성자 생성 (final 이 없는 필드는 생성자 포함 X) `@Autowired` 보단 `@RequiredArgsConstructor` 사용 권고 | lombok | | `@Autowired` | 스프링이 관리하는 빈(Bean) 주입 받음 | | | `@Controller` | HTTP 요청 수신을 위한 클래스 지정 | Controller | | `@RestController` | `JSON`을 반환하는 컨트롤로 지정각 메소드마다 지정했던`@ResponseBody` 를 한번에 사용할 수 있게 해줌 | Controller | | `@GetMapping` | HTTP Get 요청 수신 | Controller | | `@RequestParam` | www.naver.com?name=test 와 같이 `test` 내용을 `name` 에 넣어서 보내준 요청을 받을 때 사용 | Controller | | `@PathVariable` | `/api/v1/posts/{id}` 같은 요청에서 `{id}` 에 들어가는 항목 매핑 | Controller | | `@Transactional` | 트랙젝션 처리용조회 메소드일 경우 `@Transactional(readOnly = true)` 사용 | Service | Previous Post [spring] 테스트 코드 Next Post [spring] 테스트 코드 - 예제 코드