Κοινή χρήση τεχνολογίας

Spring tx @Transactional Λεπτομερής επεξήγηση των «Advisor», «Target», «ProxyFactory»

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Την άνοιξη,@TransactionalΗ επεξεργασία των σχολιασμών περιλαμβάνει πολλά βασικά στοιχεία, μεταξύ των οποίωνAdvisorTargetProxyFactory Περίμενε. Ακολουθεί μια λεπτομερής εξήγηση και ένα παράδειγμα κώδικα που εξηγεί πώς λειτουργούν αυτά τα στοιχεία μαζί.

1. Εισαγωγή στα βασικά στοιχεία

1.1 Σύμβουλος

Advisor Είναι μια ιδέα του Spring AOP, η οποία περιλαμβάνει pointcut και συμβουλές. Στη διοίκηση επιχειρήσεων,TransactionAttributeSourceAdvisorΕίναι τυπικός σύμβουλος.

1.2 Στόχος

TargetΑναφέρεται στο αντικείμενο-στόχο που γίνεται μεσολάβηση, δηλαδή στο αντικείμενο που εκτελεί πραγματικά την επιχειρηματική λογική.

1.3 ProxyFactory

ProxyFactory Είναι μια εργοστασιακή κλάση που παρέχεται από την Spring για τη δημιουργία αντικειμένων μεσολάβησης. Μπορεί να δημιουργήσει αντικείμενα διακομιστή μεσολάβησης χρησιμοποιώντας δυναμικούς διακομιστή μεσολάβησης JDK ή CGLIB.

2. @Transactional ροή επεξεργασίας

  1. Ανάλυση σχολιασμών: Ανοιξιάτικη σάρωση@Transactionalσχόλιο.
  2. Δημιουργία Συμβούλου: Δημιουργήστε μια λογική επεξεργασίας συναλλαγώνAdvisor
  3. Δημιουργία αντικειμένου διακομιστή μεσολάβησης:χρήσηProxyFactoryΔημιουργήστε ένα αντικείμενο διακομιστή μεσολάβησης για το αντικείμενο προορισμού και προσθέστεAdvisorΠροστέθηκε στο αντικείμενο διακομιστή μεσολάβησης.

3. Παραδείγματα κωδικών

3.1 Κλάση διαμόρφωσης

Πρώτο πέρασμα@EnableTransactionManagementΕνεργοποίηση διαχείρισης συναλλαγών.

import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@EnableTransactionManagement
public class AppConfig {
    // DataSource, EntityManagerFactory, TransactionManager beans configuration
}