spring 2.0 트 랜 잭 션 설정
Spring 2.0 의 새 설정:
service 가 인터페이스 기반 이 없 으 면 cgilib 를 사용 하여 AOP 를 실현 하고 proxy - target - class = "true" 를 정의 합 니 다.
/ / 여 기 는 spring 예 를 자체 적 으로 가지 고 있 습 니 다. 사용자 정의 advice 를 실현 할 수 있 습 니 다. 매번 save 동작 이 완 료 될 때마다.email Advice 를 촉발 합 니 다.
유일 하 게 이해 하기 어 려 운 것 은 pointcut 의 문법 입 니 다. 사실 배우 기 도 쉽 습 니 다. Spring 참고 문서 6.2.3.4 예제 에 완전한 설명 이 있 는데 사실은 한 줄 이 과거 에...execution (modifiers - pattern? ret - type - pattern declaring - type - pattern? name - pattern) throws - pattern?) 에 물음표 가 있 는 modifiers - pattern?(public / protected) 와 declaring - type - pattern?throws-pattern? 안 써 도 돼 요.
execution (* *.. bookManager. save (..) 의 해석:
첫 번 째 * ret - type - pattern 반환 값 은 임의로,
*...................................................................
com. xyz. service. * 로 쓰 면 com. xyz. service 의 임 의 클래스 를 대표 합 니 다.
com. xyz. service. * com. xyz. service 는 com. xyz. service 와 그 하위 패키지 의 임 의 클래스 를 대표 합 니 다.
save 는 save 방법 을 대표 하고 save * 는 saveBook () 등 방법 을 대표 합 니 다.
(..) 0 개의 인자 나 여러 개의 인자 와 일치 하 는 임의의 유형
(x,...) 첫 번 째 인자 의 종 류 는 X 여야 합 니 다.
(x,,, s,..) 최소 4 개의 매개 변 수 를 일치 시 키 고 첫 번 째 매개 변 수 는 x 유형 이 어야 하 며 두 번 째 와 세 번 째 매개 변 수 는 임 의 할 수 있 으 며 네 번 째 는 s 유형 이 어야 합 니 다.
주의사항:
1. name - pattern 은 절대 *.. * Manager 라 고 쓰 지 마 세 요. 이렇게 하면 모든 제3자 라 이브 러 리 의 Manager, 예 를 들 어 Spring 의 PlatformTranstation Manager 도 op 에 가입 하 게 되 어 매우 위험 합 니 다.그래서 "org. springside.. * Manager" 와 같은 프로젝트 의 패키지 접 두 사 를 붙 이 는 것 이 좋 습 니 다.
2. * 가 있 기 때문에 모든 방법 을 수식 합 니 다. 일부 hibenate Template 의 final 방법 은 cglib 에 의 해 수정 되 지 않 고 warning 을 버 리 며 무해 합 니 다.
4. 트 랜 잭 션 정의 옵션
트 랜 잭 션 정의 일반 기본 PROPAGATIONREQUIRED 를 사용 하면 됩 니 다. 다른 선택 은 거의 사용 되 지 않 습 니 다.주의해 야 할 것 은 PROPAGATIONNESTED, 끼 워 넣 는 트 랜 잭 션 의 의 미 는 다단 계 트 랜 잭 션 에 있 습 니 다. rollback 하위 트 랜 잭 션 만 잘못 되면 rollback 메 인 트 랜 잭 션 의 모든 작업 을 하지 않 습 니 다.예 를 들 어 OrderManager 의 shipOrder 함 수 는 save 함 수 를 호출 합 니 다. save () 가 내장 형 사무 로 정의 되면 save () 에 들 어 갈 때 save point 를 저장 합 니 다.save 에서 오류 가 발생 하면 rollback 에서 방금 save point 로 돌아 가지 만 다른 작업 에 영향 을 주지 않 습 니 다.JDBC 3.0 SavePoint 기능 의 지원 이 필요 합 니 다.일반 service 간 에 호출 을 끼 워 넣 을 때 모두 PROPAGATION 으로 정의 된다 면REQUIRED, 그 중 하나 가 잘못 되 었 습 니 다. rollback 은 모두 작 동 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.