Caij nplooj ntoos hlav AOP yog dab tsi – Wb tshawb

Spring AOP

Caij nplooj ntoos hlav Series – Kawm lub caij nplooj ntoos hlav AOP los ntawm piv txwv

AOP Basics

Hnub no txoj kev loj hlob daim ntawv thov raws li cov ntsiab lus nram qab no yog ib txwm khaws cia ua ib cheeb tsam siab.

  • Daim ntawv thov yuav tsum tau tsim li modular Cheebtsam thaum lawv tseem.
  • Tag nrho lub Cheebtsam yuav tsum tau dim de coupled.
  • Cheebtsam yuav tsum reusable.

Qhov kom zoo dua ntawm txoj kev ua no yog

  • Yooj yim thiab txhim khu kev qha.
  • Tivthaiv yuav raug muab txwv tsis pub muaj lawm los yog daim ntawv thov.
  • Txo tus nqi raug nplua thiab txhim khu kev qha.

Tam sim no nyob rau qhov kev txhawj xeeb txog lub caij nplooj ntoos hlav muaj tsim lub tswvyim xws li IOC thiab AOP. Peb twb tham IOC ces tam sim no peb yuav mloog zoo rau AOP.

Spring AOP

AOP lub hom phaj ntawm daim ntawv thov kev pab (nyiam logging, etc) uas siv thoob plaws hauv daim ntawv thov sib txawv. Siv cov tshuaj no ntoo khaub lig Yog tsim los ntawm ib tug tibneeg tsim nyog thiab txhaj tshuaj rau hauv daim ntawv thov uas puas yuav tsum tau txhaj. Thiab dua rau tag nrho configuration tag nrho yog siv cov ntaub ntawv xml.

TxheejTxheem Kev Siv Nyiaj Txiag

Tom qab kev ntsuam xyuas qhia tau hais tias ib tug mus txawv tebchaws tswj lawv. ‘Daim Pib Booking', ‘Hotel Booking' thiab 'Mus ncig teb chaws planning' yog ib yam txawv functionalities. Tam sim no tag nrho cov functionalities yuav tsum tau kev pab xws li logging, muas thiab ruaj ntseg. Li no yog hla tej kev txhawj xeeb uas tuaj hla tag nrho cov modules. Cov kev txhawj xeeb no tsim raws li tus cai hais txog cov AOP.

Tag nrho cov kev txhawj xeeb yog tsim ua ib plug-in, ces yuav siv tau yav tom ntej modules thiab. Koj cia li yuav tsum tau configure nws kom cov kev pab no kuj muaj nyob rau hauv koj cov modules tshiab. Qhov no yog lub hwj huam ntawm nam oriented programming (AOP).

AOP kuj muaj ntaub ntawv nyob rau theem enterprise ntau ntau. Nyob rau hauv daim ntawv thov enterprise, lw, txiav, Kev ruaj ntseg thiab ntau ntau nta muaj li hla tej kev txhawj xeeb. Li ntawd, tag nrho cov no yog tsim aspects thiab configured nyob rau hauv cov ntaub ntawv xlml.

Qhov kom zoo dua yog xoob coupling. Raws li tag nrho cov kev txhawj xeeb yog nws tus kheej tswj thiab ywj siab, ces koj yuav hloov tau thiab txhim khu lawv raws li koj txoj cai tsis kov daim ntawv tso npe thov.







Mus ncig teb chaws Management System

Tam sim no peb yuav piav cov AOP siv los ntawm uas qhia ib qho piv txwv.

Rov nrog, Ua ntej peb yuav txhais ib interface thiab nws cov hoob kawm. Qhov no yog ib daim ntawv thov yooj yim los sib piv rau ob qhov tseem ceeb thiab xa cov qhabnias.

Java yog tus interface txhais cov ntsiab lus los sib piv ob qhov tseem ceeb

pob com.techalpine;

pej xeem kev sib piv{

pej xeem stringing piv(rau cov menyuam ib,rau cov menyuam b);

}

Java yog cov hoob kawm. Nws muab piv ob qhov tseem ceeb thiab rov qab los

pob com.techalpine;

Pej xeem cov chav kawm ntawv sib piv cov kev coj hauv Xeev{

pej xeem stringing piv(rau cov menyuam ib, rau cov menyuam b){

Yog hais tias (ib>b)

{

Rov qab ib tug " yog ntau dua li" b;

}

ntxiv

{

rov qab mus “ntau dua”;

}

}

}

Tam sim no peb yuav sau ib lub tswv yim yooj yim kom tau hu ua ua ntej hu rau qhov piv (rau cov menyuam, rau cov menyuam) txujci. Lub tswv yim yuav tau tham txog cov lus hauv qab no. Tam sim no koj yuav xav txog tej yam tswv yim pab tswv yim ua ib tug neeg ua hauj lwm uas yuav tau plugged rau hauv daim ntawv thov los ntawm xml configuration. Thiab qhov no yuav tau hu ua ua ntej qhov kev thov hu ua. Tiam sis yuav tsis muaj kev coding hauv cov chav kawm ntawv. Peb yuav tsuas noj ua ntej yuav muab tswv yim rau cov neeg kawm ntawv.







pob com.techalpine;

chaw nres nkoj java... muaj kev cuam tshuam...;

import.springframework.a.methodBeforeAdvice;

Pej xeem hoob kawm LogBefore DVR MethodBeforeAdvice{

pej xeem yuav zam ua ntej(Hom qauv, Nruas[] args, Hom Phiaj) {

System.out.println(“Ua ntej koj hu rau txoj kev sib piv”);

}

}

Tam sim no peb yuav tham txog cov ntaub ntawv configuration (Kev kuaj-AOP.xml)

Cov ntaub ntawv muaj peb seem

  • Thawj sab lus yog lub tswv yim tau txhais cov ntsiab lus
  • Qhov thib ob txhais tau tias yog cov neeg muaj nyiaj
  • Qhov thib peb tshooj txhais tau lub ntsiab ntawm lub tswv yim nrog rau cov hoob kawm

<taum xmlns =”http://www.springframework.org/schema/beans”

xmlns:xsi =”http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation =”http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd”>

<!– Pab Tswv yim –>

<taum = “ua ntej”

Hoob Kawm = “com.com techalpine.LogBefore” />

<!– Hoob Kawm –>

<taum = “sib piv”

Hoob Kawm = “com.com techalpine.CompareIntImpl ” />

<!– Proxy Implement Class –>

<taum = “Piv”

Hoob Kawm = “org.springframework.aop.framework.ProxyFactoryBean”>

<cuab yeej ntawm tus kheej = “proxyinterfaces”>

<tus nqi>com.com techalpine.CompareInt</tus nqi>

</khoom>

<cuab yeej ntawm tus kheej = “kev cuam tshuam”>

<sau>

<tus nqi>ua ntej</tus nqi>

</sau>

</khoom>

<cuab yeej ntawm tus kheej = “phiaj”>

<nyeem = “sib piv”/>

</khoom>

</taum>

</taum>

Tam sim no qhov xeem yog qhov kev kuaj ntawd compareTest.java. Nws loads lub ntsiab txhais uas siv XMLBeanFactory hoob kawm thiab ces hu ua qhov piv () txujci.

pob com.techalpine;

ntshuam org.springframework.beans.factory.BeanFactory;

ntshuam org.springframework.beans.factory.xml.XmlBeanFactory;

import org.springframework.core.io.*;

Pej xeem hoob kawm CompareTest {

pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua args[]){

Qhov chaw muab kev pab = tshiab FileSystResstresource(“./scr/TEST-AOP.xml”);

Hoobkas BeanFactory = XmlBeanFactory tshiab(qhov chaw muab kev pab);

Sib Piv Txwv = (ntxiv)factory.getBean(“Piv”);

Txoj hlua tshwm sim = piv txwv(12,10);

System.out.println(“Tshwmsim = ” + tshwm);

}

}

Cov zis () txoj kev hu yuav ua raws li

Ua ntej koj hu rau txoj kev sib piv

12 ntau dua 10







Xaus:

Lub caij nplooj ntoos hlav AOP yog pab heev thaum peb sim cais ua lag ua luam logic los ntawm tej kev txhawj xeeb txog tej kev txhawj xeeb. Nws yog siv nyob rau hauv ntau hom ntawv los npog ntau yam. AOP kuj yuav siv tau rau lwm hom lus programming.

 

============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share