[java] 어노테이션

이영주·2021년 5월 15일
0

JAVA

목록 보기
5/5

[ @Bean, @Configuration ]
개발자가 직접 제어가 불가능한 외부 라이브러리 또는 설정을 위한 클래스를 Bean으로 등록할 때 @Bean 어노테이션을 활용
1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 명시해 주어야 함
[ @Component ]

개발자가 직접 개발한 클래스를 Bean으로 등록하고자 하는 경우 @Component 어노테이션을 활용좋아요공

[ @Aspect ]

여러 객체에 공통으로 적용되는 공통 관심 사항을 클래스화해서 메소드를 호출하지만 여러곳중 하나에서 기능을 추가하여
*공통 관심 사항(AOP) 공통 기능으로 어플리케이션 전반에 걸쳐 필요한 기능으로 여러 객체가 사용하거나, 거쳐가는 기능인지

매개변수가 하나라도 늘어난다면 모든 클래스에서 에러가 나게 된다. 그렇기 때문에 분리시키는 작업을 한다.
자동으로 Bean으로 등록되는것이 아니므로 따로 component 등의 어노테이션을 이용한다.

[ @Around ]

속성값으로 pointcut 을 전달해주어야 한다.

[ @Pointcut ]

-실제로 advice가 적용되는 jointpoint의 부분집합
advice : 언제 공통 기능을 핵심 로직에 적용할지 정의
jointpoint : advice를 적용 가능한 지점
-excoution(접근 제어자(생략가능) 리턴타입명시 클래스이름(생략가능) 메소드이름 파라미터)
접근 제어자와 반환형 모두 상관하지 않겠다는 의미 -> “ * “ 사용
메소드 파라미터가 몇개가 존재하던지 상관 없이 실행하는 경우 -> “ (..) “ 사용

0개의 댓글