본문 바로가기

JAVA

[JAVA] 자바 어노테이션(Annotation) 정리

 

@Component  스프링에게 해당 클래스가 스프링에서 객체(빈)로 만들어서 관리해야 하는 대상임을 표시하는 어노테이션
@Autowired 해당 인스턴스 변수가 스프링으로부터 자동으로 주입해 달라는 표시 
@Setter  setter 메서드를 만들어주는 역할
@Data @ToString, @EqualsAndHashCode, @Getter/Setter, @RequiredArgsConstructor를 모두 결합한 형태로 한 번에 자주 사용되는 모든 메서드들을 생성할 수 있다. 
@Log4j  로그 객체 생성
@ContextConfiguration 스프링이 실행되면서 어떤 설정 정보를 읽어 들어야하는지 명시한다.
@Runwith 테스트 시 필요한 클래스를 지정한다. / JUnit 프레임워크의 테스트 실행 방법을 확장할때 사용하는 어노테이션
@Test junit에서 해당 메서드가 jUnit상에서 단위 테스트의 대상인지 알려준다.
@RequestParam 파라미터로 사용된 변수의 이름과 전달되는 파라미터의 이름이 다른 경우에 유용하게 사용된다.
@InitBinder  특정 컨트롤러에서 바인딩 또는 검증 설정을 변경하고 싶을 때 사용
      * 바인딩 : 파라미터의 수집
@ModelAttribute 강제로 전달받은 파라미터를 Model에 담아서 전달하도록 할 때 필요한 어노테이션
@ControllerAdvice  해당 객체가 스프링의 컨트롤러에서 발생하는 예외를 처리하는 존재임을 명시하는 용도로 사용한다.
@ExceptionHandler 해당 메서드가 () 들어가는 예외 타입을 처리한다는 것을 의미한다. 
@Service 계층 구조상 주로 비즈니스 영역을 담당하는 객체임을 표시하기 위해 사용한다.
@AfterThrowing 지정된 대상이 예외를 발생한 후에 동작하면서 문제를 찾을 수 있도록 도와준다. 

 

예전에  필기해둔 것 

예시 첨부해서 더 자세히 수정할 예정