티스토리 뷰

728x90
반응형
SMALL

AOP

AOP기능은 주로 일반적인 JAVA API를 이용하는 클래스(POJO)들에 적용한다.

Controller에 적용이 불가능한 것은 아니지만, Controller의 경우에는 인터셉터나 필터 등을 주로 이용.

스프링의 AOP는 AspectJ라는 라이브러리의 도움을 받기 때문에, 스프링 버전에 맞게 AspectJ버전을 변경.

        <org.springframework-version>5.0.7.RELEASE</org.springframework-version>
        <org.aspectj-version>1.9.0</org.aspectj-version>
        <org.slf4j-version>1.7.25</org.slf4j-version>

AOP설정과 관련해서 사용하는 라이브러리인, AspectJ Weaver 를 추가

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${org.aspectj-version}</version>
        </dependency>

스프링 프로젝트에 AOP를 설정하는것은, 스프링 2.x버전 이후에는 자동으로 proxy 객체를 만들어주는 설정을 추가(root-context.xml 의 Namespaces 탭에서 aop, context를 추가한다)

root-context.xml의 내용 추가

        <context:annotation-config></context:annotation-config>
        <context:component-scan base-package="org.sample.service"></context:component-scan>
        <context:component-scan base-package="org.sample.aop"></context:component-scan>
        <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
  • component-scan을 이용해서 org.sample.service패키지와, org.sample.aop패키지를 스캔.
  • aop:aspectj-autoproxy를 이용해서, aop를 위해 만든 클래스에 설정한 Advice(@before, @Around 등)가 동작하게 된다.
728x90
반응형
LIST

'Spring boot study > 5. AOP' 카테고리의 다른 글

AOP 실습 및 테스트  (0) 2020.08.07
AOP 용어 정리  (0) 2020.08.04
댓글
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함