Maison  >  Article  >  Java  >  Quelles sont les méthodes de transactions déclaratives en Java

Quelles sont les méthodes de transactions déclaratives en Java

PHPz
PHPzavant
2023-05-16 19:10:591590parcourir

1. Transaction déclarative

Utilisez la méthode AOP (orientée aspect) pour ouvrir la transaction à l'aide de la méthode de transaction programmatique avant la méthode, et validez ou annulez après la méthode. Utilisez des méthodes de fichier de configuration ou des méthodes d'annotation (telles que @Transactional) pour contrôler les transactions.

L'annotation sur la méthode signifie que la méthode démarre automatiquement la transaction, et sur la classe, la méthode dans toute la classe utilise la transaction

2. Méthode

1. Gestion déclarative des transactions basée sur TransactionProxyFactoryBean.

dans applicationContext Configurez

Quelles sont les méthodes de transactions déclaratives en Java

dans .xml, puis injectez la classe proxy accountrviceProxy

@Resource(name="accountrviceProxy")
dans la couche de service qui nécessite la gestion des transactions. Cette méthode présente un inconvénient, c'est-à-dire que nous devons la faire correspondre à chaque service. classe qui nécessite une gestion des transactions. Sa classe proxy est relativement lourde à configurer.

2. Gestion déclarative des transactions XML basée sur AspectJ

Il y a une expression lors de la configuration du point d'entrée :

expression="execution(* com.cn.study.spring.service.IAccountService+.*(..))"
Les paramètres entre parenthèses d'exécution représentent le type de retour de la méthode, le nom du package, le nom de la classe, le nom de la méthode et Paramètres de la méthode

où * représente n'importe quel

IAccountService+ représente les méthodes de toutes les classes d'implémentation de l'interface IAccountService

Cette méthode est la plus couramment utilisée.

3. Gestion déclarative des transactions basée sur les annotations

La troisième méthode est la plus simple. Il nous suffit de configurer le pilote qui active les transactions d'annotation dans applicationContext.xml, puis d'ajouter des annotations avant les classes qui nécessitent une gestion des transactions :

@Transactional(propagation=Propagation.REQUIRED)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer