sello
146
2019-07-11 18:36:03
2
471

실무에서는 스프링 AOP를 어떻게 더 많이 구현하시는지 궁금합니다


AOP에 대해 막 배운 학생입니다. 그리고 제가 만드는 포트폴리오에는 단순히 '공통기능 실행됨' 라는 로그 찍어보는 거로 AOP구현을 처음 해보았는데요

AOP 구현하는 방식이 @Aspect 어노테이션을 이용하는 것과, XML 파일에 <aop:config> 을 이용하는 두 가지 방식이 있다고 하는데, 실무에서 더 많이 쓰이는 방식이 어떤 건가요??

 AOP는 공통기능을 실행하기 위한 기술이잖아요. 전 단순히 AOP가 실행되었다는 로그 찍어보는 용도만 시도해보았는데,  실무에서는 또 어떤 특정한 상황일 때 AOP 를 사용하는지 문득 궁금합니다

0
0
  • 댓글 2

  • LichKing
    13k
    2019-07-11 18:39:16

    스프링 설정 자체가 xml에서 java config로 넘어오는 추세입니다.(추세라고하기엔 꽤 오래된듯)

    저같은경우는 캐시레이어 만들때 사용했습니다.


    
    object = cache.get();
    
    if(object != null){
    
      return object;
    
    }
    
    
    return db.get();


    이런식으로 캐시에서 먼저 꺼내고 그게 null이면 db로 간다는 식의 코드는 캐시를 사용하는곳이면 모두 등장하는 횡단관심사라고 판단하고 AOP로 작업했습니다.
    1
  • 퓨리오사
    2k
    2019-07-11 22:12:45

    저는 로그인 체크하는 로직을 Aspect로 구현했습니다.

    또 기본적으로 API 접근하기 위해서 필요한 값들 예를 들어 API 버전, API KEY 를 체크하는 로직또한

    Aspect로 구현하여 중복 코드를 없에고, Aspect만 유효성 체크할게 또 필요하면 추가하는 식으로

    사용하고 있습니다.

    Aspect로 꼭 구현할 필요가 있나 싶겠지만 해놓으면 편하기는 합니다.

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.