>  기사  >  Java  >  Java의 선언적 트랜잭션 방법은 무엇입니까?

Java의 선언적 트랜잭션 방법은 무엇입니까?

PHPz
PHPz앞으로
2023-05-16 19:10:591538검색

1. 선언적 트랜잭션

AOP(Aspect-Oriented) 방식을 사용하여 메소드 이전에 프로그래밍 방식의 트랜잭션 방식을 사용하여 트랜잭션을 열고 메소드 이후에 커밋 또는 롤백합니다. 트랜잭션을 제어하려면 구성 파일 메서드나 주석 메서드(예: @Transactional)를 사용하세요.

메서드에 붙은 주석은 해당 메소드가 자동으로 트랜잭션을 시작한다는 의미이며, 클래스에서는 해당 트랜잭션을 전체 클래스의 메소드가 사용한다는 의미입니다.

2. 메소드

1. TransactionProxyFactoryBean을 기반으로 한 선언적 트랜잭션 관리

applicationContext에서 .xml에

Java의 선언적 트랜잭션 방법은 무엇입니까?

을 구성한 다음 트랜잭션 관리가 필요한 서비스 계층에 프록시 클래스 accountrviceProxy

@Resource(name="accountrviceProxy")
를 삽입합니다. 이 방법에는 단점이 있습니다. 즉, 모든 서비스와 일치해야 합니다. 트랜잭션 관리가 필요한 클래스입니다. 해당 프록시 클래스는 구성하기가 상대적으로 번거롭습니다.

2. AspectJ XML을 기반으로 한 선언적 트랜잭션 관리

진입점을 구성할 때 표현식이 있습니다.

expression="execution(* com.cn.study.spring.service.IAccountService+.*(..))"
실행 괄호 안의 매개변수는 메소드 반환 유형, 패키지 이름, 클래스 이름, 메소드 이름 및 매개변수를 나타냅니다. 메소드

여기서 *는 임의의

IAccountService+를 나타냅니다. IAccountService 인터페이스의 모든 구현 클래스의 메소드를 나타냅니다.

이 메소드는 더 일반적으로 사용되는 메소드입니다.

3. 주석 기반 선언적 트랜잭션 관리

세 번째 방법이 가장 간단합니다. applicationContext.xml에서 주석 트랜잭션을 활성화하는 드라이버를 구성한 다음 트랜잭션 관리가 필요한 클래스 앞에 주석을 추가하기만 하면 됩니다. 으아악

위 내용은 Java의 선언적 트랜잭션 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제