개발 공부/Spring

AOP / Transaction

공부하는개발자_ 2023. 9. 7. 15:28

 

AOP: 관점 지향 프로그래밍

Aspect: 추상 명사로 횡단 관심사를 의미

Advice : 횡단 관심사를 구현한 객체

Target : 핵심 로직을 가지고 있는 객체

Proxy: Target 객체 + Advice

JointPoint: 메서드

 

 

추가

runtime삭제해주고 version 변경해줌

 

@Component : bean을 만들어줌. component-scan에서 스캔하여 사용함. context에 정보등록 필요

 

 aspect를 구현한 클래스가 advice이고 여러가지 메서드에 포인트컷을 지정하는 advice가 붙을수있고 메서드에 붙는 execution의 형태가 많다. 먼저 실행할 것인지, 나중에 실행할 것인지에 따라 beforeAdvice / AfterAdive로 나눠짐.

 

기본 비즈니스 로직은 건드리지 않은 상태에서, 추가적으로 로직을 만들어서 확인하고 싶은 경우 AOP를 사용함.

 

 

 

AfterReturning : 성공적으로 실행됐을때

AfterThrowing : 예외가 발생 했을

 

pointcut이 지정되는 곳은 execution이다

하나만 있을경우는 pointcut생략가능.


트랜잭션

 

 

Browse

transactionManager빈 생성

 

@Transactional로 묶은 경우

기존에 첫번째 insert성공한 데이터도 커밋처리가 되지 않고, 실패 됨.

비즈니스 로직이 복잡해지면 적절한 곳에 transactional로 묶어서 한번에 처리할 수 있다.

비즈니스 메서드에 많이 붙임. 

 

 

 

'개발 공부 > Spring' 카테고리의 다른 글

Security를 이용한 로그인 처리  (0) 2023.09.11
파일 업로드/ 썸네일  (0) 2023.09.08
댓글의 페이징처리/ 댓글  (0) 2023.09.06
Rest / Ajax 댓글처리  (0) 2023.09.04
검색  (0) 2023.09.01