반응형

AOP

    @Transactional이 동작하지 않는 이유

    개발을 elasticsearch, ddb, redis, mongo등을 사용하여 하다보면 가끔 rdb 자체에 transaction 기능이 너무 부러울 때가 있다. transaction은 '데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다' 사전적 의미와 같이 하나의 작업 단위의 묶음으로 작업이 실패하였을 때 롤백을 할 수 있어 데이터의 완결성을 지켜줄 수 있는 무기이다. 하지만 트랜잭션이 정상적으로 동작하지 못하는 경우가 있는데 이를 제대로 알고 사용하지 못하면 문제가 된다. 동작방식 우선 트랜잭션은 기본적인 동작방식은 AOP의 대표적인 사례라고 할 수 있듯이 AOP로 동작한다. Aop는 핵심기능이 아닌 반복되는 부가적인 기능들을 핵심기능에서 벗어나서 더욱더 핵심기능이 객체지향적인 동작을..

    Aop 설명과 설정방법

    AOP 설명 AOP는 횡단 관점으로서 어느 메서드가 실행되면 실행되는 과정 특정 메서드의 예외가 실행되면 실행되야 하는 것, return이 호출되면 실행되야하는 것 등을 지정을 해놓을 수 있다. 자바의 프록시 기능과 유사하다. Aspect는 이런 AOP를 수행할 객체를 이야기하고, Pointcut은 어느 시점에 동작을 하게 할것인지 예를 들어 어느 이름을 가진 메서드가 실행될 때 실행해라. 어는 패키지 안에 내용이 들어가 있는 클래스가 호출될 때 실행해라 등 지정할 수 있다. Around, Before, After 애노테이션을 이용하여 특정 시점에 지정된 Pointcut을 실행 시킬 수 있다. 설정방법 123456789101112131415161718192021222324252627282930313233..

반응형