자주 사용하는 어노테이션

2023. 2. 24. 15:42@Annotaion Book

@Autowired 객체 간의 의존성 주입을 위해 사용합니다.
@Bean Spring Bean을 생성하고 관리하기 위해 사용합니다.
@Component Spring 컴포넌트를 정의하기 위해 사용합니다.
@Controller Spring MVC 컨트롤러를 정의하기 위해 사용합니다.
@RequestMapping Spring MVC에서 HTTP 요청을 처리하기 위해 사용합니다.
@Service Spring 서비스 레이어에서 비즈니스 로직을 정의하기 위해 사용합니다.
@Transactional Spring 트랜잭션을 적용하기 위해 사용합니다.
@Value 프로퍼티 값을 읽어들이기 위해 사용합니다.
@Async 비동기적인 메서드 호출을 위해 사용합니다.
@Configuration Spring 설정 파일을 정의하기 위해 사용합니다.
@EnableAutoConfiguration Spring Boot의 자동 설정을 활성화하기 위해 사용합니다.
@EnableScheduling 주기적인 작업을 실행하기 위해 사용합니다.
@RestController Spring MVC에서 RESTful API를 제공하기 위해 사용합니다.
@ExceptionHandler Spring MVC에서 예외 처리를 위해 사용합니다.
@ModelAttribute Spring MVC에서 모델에 데이터를 추가하기 위해 사용합니다.
@PathVariable Spring MVC에서 URL 경로 변수를 읽어들이기 위해 사용합니다.
@RequestBody HTTP 요청 본문을 읽어들이기 위해 사용합니다.
@ResponseBody HTTP 응답 본문을 생성하기 위해 사용합니다.
@Scope Spring Bean의 스코프를 지정하기 위해 사용합니다.
@TransactionalEventListener Spring 트랜잭션 이벤트를 처리하기 위해 사용합니다.
@Cacheable Spring Cache를 적용하기 위해 사용합니다.
@CachePut Spring Cache에서 캐시를 갱신하기 위해 사용합니다.
@CacheEvict Spring Cache에서 캐시를 삭제하기 위해 사용합니다.
@Conditional 조건부 빈을 등록하기 위해 사용합니다.
@ControllerAdvice Spring MVC에서 전역 예외 처리를 위해 사용합니다.
@CrossOrigin CORS(Cross-Origin Resource Sharing)를 지원하기 위해 사용합니다.
@Entity JPA 엔티티를 정의하기 위해 사용합니다.
@GeneratedValue JPA에서 엔티티의 기본 키를 자동 생성하기 위해 사용합니다.
@Id JPA에서 엔티티의 기본 키를 지정하기 위해 사용합니다.
@OneToMany JPA에서 일대다 관계를 매핑하기 위해 사용합니다.
@ManyToOne JPA에서 다대일 관계를 매핑하기 위해 사용합니다.
@ManyToMany JPA에서 다대다 관계를 매핑하기 위해 사용합니다.
@JoinTable JPA에서 다대다 관계를 매핑하기 위해 사용하는 중간 테이블을 정의하기 위해 사용합니다.
@Embedded JPA에서 값 타입을 포함하기 위해 사용합니다.
@EmbeddedId JPA에서 복합 기본 키를 사용하기 위해 사용합니다.
@Column JPA에서 컬럼을 매핑하기 위해 사용합니다.
@Table JPA에서 테이블을 매핑하기 위해 사용합니다.
@NamedQuery JPA에서 쿼리를 미리 정의하기 위해 사용합니다.
@NamedQueries JPA에서 여러 개의 쿼리를 미리 정의하기 위해 사용합니다.
@PersistenceContext JPA에서 엔티티 매니저를 주입하기 위해 사용합니다.
@PersistenceUnit JPA에서 엔티티 매니저 팩토리를 주입하기 위해 사용합니다.
@PreAuthorize Spring Security에서 메서드 호출 전에 권한 검사를 수행하기 위해 사용합니다.
@PostAuthorize Spring Security에서 메서드 호출 후에 권한 검사를 수행하기 위해 사용합니다.
@Secured Spring Security에서 권한 검사를 수행하기 위해 사용합니다.
@RolesAllowed Java EE Security에서 권한 검사를 수행하기 위해 사용합니다.
@Scheduled Spring Framework에서 주기적인 작업을 실행하기 위해 사용합니다.
@PreDestroy Spring Bean이 소멸되기 전에 실행할 작업을 정의하기 위해 사용합니다.
@PostConstruct Spring Bean이 생성된 후에 실행할 작업을 정의하기 위해 사용합니다.
@NoArgsConstructor 인자 없는 생성자를 생성해줍니다.
@RequiredArgsConstructor 모든 필수 필드 값을 파라미터로 받는 생성자를 생성해줍니다.
@Builder 빌더 패턴을 적용하여 객체를 생성하기 위해 사용합니다.
@Getter 필드의 Getter 메서드를 생성해줍니다.
@Setter 필드의 Setter 메서드를 생성해줍니다.
@EqualsAndHashCode equals(), hashCode() 메서드를 자동으로 생성해줍니다.
@ToString toString() 메서드를 자동으로 생성해줍니다.
@Slf4j Logback 또는 Log4j와 연동하여 로그를 기록하기 위해 사용합니다.

'@Annotaion Book' 카테고리의 다른 글

@Component  (0) 2023.02.24
@Autowired  (0) 2023.02.24
@Data  (0) 2023.02.24
@RequiredArgsConstructor  (0) 2023.02.24
@RestController  (0) 2023.02.24