2017년 1월 10일 화요일

[자바교육/스프링교육/스프링프레임워크/스프링부트학원추천_탑크리에듀]Spring AOP란?

AOP? 

IoC를 이용하여 협력하는 객체를 쉽게 연결가능하나 때로는 전체 애플리케이션에 걸쳐 사용되어야 하는 기능이 필요할 수도 있다. 

공통적인 기능을 한곳에서 정의 
새로운 기능을 적용하려고 하는 클래스를 수정할 필요 없이  그런 기능을 어디에 어떻게 적용할 것인지 선언적으로 정의 가능 
 각 관심사에 관한 로직이 애플리케이션 전체에 걸쳐 관리되지 않고 Aspect라고 하는 곳에서 관리된다. 
 애플리케이션 고유의 비지니스로직 처리가 명확해 진다. 
 여러 장의 종이를 자르는 경우에 한 장씩 순서에 맞게 자르는 방법이 있는 반면, 한번에 여러 장의 종이를 겹쳐두고 자르는 방식도 있다. 후자의 방식이 AOP라고 생각하면 된다. 즉 하나를 실행할 때 여러 개의 모듈을 동시(정확히는 순서가 있다.)에 실행하는 방식이라고 이해하면 된다. 
 Logging은 시스템 내에서 거의 모든 경우에 적용하긴 하지만, 실제로 특정한 비즈니스 로직과는 전혀 관련이 없다. 만일 AOP방식으로 구현한다면 다음과 같은 특징을 가지게 된다. 실제 비즈니즈 로직의 구현을 담당하는 Object는 아무런 로그 관련 객체 정보가 없다. 자바의 경우 이 Object의 특정 메쏘드를 호출하는 시점에 지정된 다른 서비스(로깅)가 실행된다. 

댓글 없음:

댓글 쓰기