Teknologian jakaminen

spring tx @Transactional Yksityiskohtainen selitys kohteista "Advisor", "Target" ja "ProxyFactory"

2024-07-11

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

Keväällä,@TransactionalAnnotaatioiden käsittelyyn kuuluu useita avainkomponentteja, mukaan lukienAdvisorTargetProxyFactory odota. Alla on yksityiskohtainen selitys ja koodiesimerkki, joka selittää, kuinka nämä komponentit toimivat yhdessä.

1. Johdatus keskeisiin komponentteihin

1.1 Neuvonantaja

Advisor Se on Spring AOP -konsepti, joka sisältää pointcut ja neuvoja. Liiketoiminnan johtamisessa,TransactionAttributeSourceAdvisorOn tyypillinen neuvonantaja.

1.2 Tavoite

TargetSe viittaa välityspalvelimella olevaan kohdeobjektiin, eli objektiin, joka todella suorittaa liiketoimintalogiikan.

1.3 ProxyFactory

ProxyFactory Se on Springin tarjoama tehdasluokka välityspalvelinobjektien luomiseen. Se voi luoda välityspalvelinobjekteja käyttämällä JDK dynaamisia välityspalvelimia tai CGLIB.

2. @Tapahtumien käsittelykulku

  1. Jäsennä huomautuksia: Kevätskannaus@Transactionalhuomautus.
  2. Luo Advisor: Luo tapahtumankäsittelylogiikkaAdvisor
  3. Luo välityspalvelinobjekti:käyttääProxyFactoryLuo välityspalvelinobjekti kohdeobjektille ja lisääAdvisorLisätty välityspalvelinobjektiin.

3. Esimerkkejä koodista

3.1 Kokoonpanoluokka

Ensin läpäise@EnableTransactionManagementOta tapahtumanhallinta käyttöön.

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

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