Thaiv lub caij nplooj hlav noob taum thaum uas siv cov XML thiab Java

Wiring Spring Beans

Wiring caij nplooj ntoos hlav taum siv Java – Cas nws xwb?

Txheej txheem cej luam

Thaiv kev caij nplooj ntoos hlav taum yog ib tus thawj xibfwb yam underlying du lag luam ntawm daim ntaub ntawv raws li lub caij nplooj hlav software. Qhov thaiv feature combines tuition disparate taum caij nplooj ntoos hlav los yog khoom mus cuag lub hom phiaj. Cov taum no wired thiab tseem tsis nruj nreem coupled nrog ib leeg kom tej taum yuav tsum reused rau lwm cov laj thawj los yog ntsuam xyuas tsis puas nyob ntawm lub noob taum lawv wired nrog. Ob qho le caag tiag kom wire lub caij nplooj ntoos hlav taum: XML configuration thiab Java cov chav kawm ntawv. Thaiv yuav ua tau manually configuring XML ntaub ntawv los rau Java kawm los yog cia ua tus thaiv raws li ob peb specifications hlav. Lub ntsiab tswv yim qab no tsab xov xwm no yog los qhia li cas Spring taum yuav tau wired nrog rau ob tug approaches hais saum toj no.






Vim li cas lub caij nplooj ntoos hlav?

Lub caij nplooj ntoos hlav framework yog ib qhov nyiam tshaj plaws nyiam tshaj plaws uas muaj vim hais tias nws muaj cov kev pab cuam nram qab no:

  • Siv cov modules uas koj xav tau

Lub caij nplooj ntoos hlav muaj ib tug xov tooj ntawm ntau cov pob khoom thiab hoob kawm tiam sis kuj yuav muab koj xaiv xwb cov neeg uas koj xav tau thiab tsis txhawj txog tas.

  • Zoo tshaj ntawm lwm lub tshuab ua muaj

Thaum twg koj siv lub caij nplooj ntoos hlav, Koj tau cov kev pab cuam uas zoo tshaj plaws ntawm lwm lub caij nplooj ntoos hlav leverages lwm technologies xws li logging frameworks, LOS YOG frameworks, Quartz, Jee, thiab cov sij hawm JDK, lwm saib technologies.

  • teeb pom kev zoo

Lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav hauv computer uas txwv nco thiab CPU cov chaw muab kev pab.

  • Yooj yim txhawb lawv

Lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav yuav tsum scaled rau tes thoob ntiajteb xws li tus Java Transaction API los yog scaled los kov qhov chaw thauj khoom xws li cov neeg nyob rau hauv ib qho database.








Dab tsi yog wiring of Beans?

Thaum twg ib daim ntawv thov software ua haujlwm, qab tus scenes, tej khoom siv los yog taum hauj lwm ua ke. Tej yam khoom los yog taum no tej zaum yuav ywj siab txog ib leeg kom lawv tau tsis kam ua lwm yam los yog mus kuaj ywj siab tsis yuav nyob ntawm lwm yam khoom. Kom tej khoom ua hauj lwm ua ke, Lawv yog loosely coupled los ntawm tus Dependency injection ntawm lub caij nplooj ntoos hlav. Tsab cai no ua combining cov khoom los yog taum hu ua wiring. Xav txog wiring ua ib txoj kev uas ties ua ke disparate taum rau ib lub hom phiaj txawv hos tej taum yuav siv sim lwm qhov rau ib hom phiaj txawv.

Thaum lub Caij Nplooj ntoos hlav-raws li tau pib, Daim ntawv thov kev ncua loads cov lus txhais ntawm tag nrho cov taum los yog khoom ntawm ib daim ntawv configuration thiab wires lub noob taum ua ke.

Muaj ob tug mus kom ze ntawm wiring taum rau lub caij nplooj ntoos hlav:

  • Wiring los ntawm XML.
  • Wiring los ntawm Java hoob kawm.

Wiring auto wiring?

Muaj ob txoj kev los hlau taum hlau taum lub caij nplooj ntoos hlav: Ib, Koj hlau taum manually los declaring cov taum, siv lub Injection Dependency Injection (DI) thiaj li thiab ob tug, Cia lub caij nplooj ntoos hlav tej qhov nqaij ntuag. Cov txheej txheem tom kawg yog hu ua wiring. Thaum koj cia lub caij nplooj ntoos hlav ntim hlau taum, Koj configure li cas nws yuav mus hlau taum. Lub caij nplooj ntoos hlav yuav hlau ntawm lub hauv parameters nram qab no:

  • npau suav: Thaum no parameter yog teem caij, Lub caij nplooj ntoos hlav ntoos hlau zoo li rau cov taum uas tus auto attribute yog teem rau ntawm lub XML configuration.
  • tu siab: Thaum no parameter yog teem caij, Lub caij nplooj ntoos hlav tej thawv rau cov taum uas tus pib hlau attribute yog teem rau ntawm IYpe nyob rau hauv cov ntaub ntawv XML configuration.
  • tswj: Thaum no parameter yog teem caij, Taum rau uas tus pib hlau attribute yog teem caij nyoog yuav tshawb xyuas.
  • nyab xeeb: Nyob rau hauv no parameter, Ua ntej tshaj ib yam nkaus thiab hlau yog tsim txom. Yog hais tias tsis ua hauj lwm, wiring yog ua los ntawm cov parameter los ntawm parameter.


Dab tsi yog wiring ntawm Java thiab XML?

Raws li hais lawm nyob rau hauv tsab xov xwm no, wiring ntawm lub caij nplooj ntoos hlav tau muaj los ntawm ob hoob Java thiab XML configuration. Seem no qhia ib overview txog li cas cov wiring yog ua li cas nrog cov ob tug approaches.

XML: Wiring yog ua li cas hauv ib daim ntawv qhia XML configuration. Cov ntaub ntawv configuration muaj lub ntsiab txhais ntawm cov taum. Thaum lub caij nplooj ntoos hlav kuas software pib, Cov taum no hu ua thiab raws li nyob rau ntawm dependency injection (DI), taum noob taum. Nyob rau hauv cov ntaub ntawv, tus <taum> cov caij nyoog yuav tsum tau txais thiab <constructor-arg> thiab <khoom> yuav tsum siv.

Java Classes: Hlau taum hlau taum nrog kev pab los ntawm Java chav kawm ntawv, Lub caij nplooj ntoos hlav Configuration yuav tsum tau tsim thiab cov hoob kawm uas @Configuration yuav tsum tau txhaj tshuaj. Tus @Configuration qhia lub caij nplooj ntoos hlav uas yuav tsum tau wired yog configured li no hoob kawm.

Teeb ib puag ncig:

Teem tau qhov chaw rau lub caij nplooj ntoos hlav raws li txoj kev loj hlob uas yog peb kauj ruam loj.

  • Teem java kev loj hlob Java txoj kev loj hlob

Download JDK Ntawm qhov chaw Oracle thiab ces, nruab nrab thiab configure. Ces cov PATH thiab JAVA_HOME chaw yuav tsum muab teev tseg.

  • Teev ntawm Eclipse tswv yim

Eclipse yuav tsum downloaded ntawm nom website. Ib zaug downloaded, tsis them cov binaries thiab ces muab lub PATH thiab.

  • Teem caij nplooj ntoos hlav lub caij nplooj ntoos hlav

Lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav (Spring libraries). http://repo.spring.io/release/org/springframework/spring/. Dua, tseem ceeb heev uas yuav tau teem caij rau CLASSPATH kom yog.

Tam sim no koj ib puag ncig yuav pib lub caij nplooj ntoos hlav Java.








Coj daim ntawv:

Nyob rau hauv tshooj no peb yuav ncaj qha mus rau hauv qhov chaw ua hauj lwm thiab pib ob daim ntawv thov. Thawj yuav tau uas qhia tau tias wiring los ntawm kev siv annotations thiab ob daim ntawv thov yuav qhia tau tias wiring los ntawm XML configuration ntaub ntawv.

Wiring by annotations – Ntawm no peb yuav muaj peb hoob kawm Java li qhia hauv qab no.

Qhia 1: Taum hoob kawm

pob.dashboardapp.beanwire;

Pej xeem hoob Kawm BeanWire {

ntiav lus;

pej xeem tsis muaj dabtsis setMessage(Txoj hlua xov){

cov lus no hais =;

}

pej xeem void getMessage(){

System.out.println(“Lus no : ” + xov);

}

}

Nyob rau hauv cov hoob kawm ob yog siv los qhia lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav BeanWire yuav tau loaded. Tus @Configuration annotation qhia lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav no yog ib qhov txhais tau tias cov ntsiab lus. Tus @Bean ncha moo cov lus qhia lub caij nplooj ntoos hlav lub caij nplooj ntoos hlav yuav tsum rov qab ib yam twg uas yuav tsum tau mus sau npe raws li lub caij nplooj ntoos hlav nrog lub caij nplooj ntoos hlav context.

Qhia 2: Taum configuration class nrog annotations

pob.dashboardapp.beanwire;

import.springframework.context.*;

@Configuration

Pej xeem hoob kawm BeanWireConfig {

@Bean

Pej xeem BeanWire beanwire(){

rov qab tshiab BeanWire();

}

}

Tom qab no yog qhov kawg hu mus khiav daim ntawv thov thiab xyuas cov zis.

Qhia 3: Main class khiav daim ntawv thov

pob.dashboardapp.beanwire;

ntshuam org.springframework.context.ApplicationContext;

import.springframework.context.*;

Pej xeem hoob kawm BeanWireMain {

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

Application Application cxtx =

AnnotationConFigaplication(BeanWireConfig.class);

BeanWire beanwire = ctx.getBean(BeanWire.class);

hauv qab no... setMessage(“Nyob zoo Bean..Koj yog wired los ntawm annotation…..!”);

hauv qab no... getMessage();

}

}


Thaum no Java qhov kev pab cuam tseg nws yuav qhia cov tso zis li nram no.

Showing output

Uas qhia tso zis

Duab 1: Uas qhia tso zis

Tam sim no peb yuav xyuas tau wiring los ntawm XML ntaub ntawv.

Wiring los XML ntaub ntawv: Ntawm no peb yuav muaj ob tug ntaub ntawv Java thiab ib XML configuration ntaub ntawv raws li muaj hauv qab no.

Cov taum Java hoob kawm yog yuav luag zoo ib yam li yav dhau los.

Qhia 1: Taum ntaub ntawv

pob.dashboardapp.beanwire;

Pej xeem hoob kawm BeanWireXML {

ntiav lus;

pej xeem tsis muaj dabtsis setMessage(Txoj hlua xov){

cov lus no hais =;

}

pej xeem void getMessage(){

System.out.println(“Lus no : ” + xov);

}

}

Qhov no yog cov XML configuration ntaub ntawv rau hlau lub taub hau

Qhia 2: XMLconfiguration daim ntawv

<?xml version =”1.0″ encoding =”UTF-8″?>

<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-3.2.xsd”>

<taum daim id =”hauv qab” hoob =”com.dashboardap.beanwire.BeanWireXML”>

</taum>

</taum>

Configuration files location

Cov ntaub ntawv teev npe thov

Duab 2: Cov ntaub ntawv teev npe thov

Qhov no yog qhov tseem ceeb kom tau txais cov ntaub ntawv los ntawm XML configuration thiab hu rau txoj kev.

Qhia 3: Main Java ntaub ntawv

pob.dashboardapp.beanwire;

ntshuam org.springframework.context.ApplicationContext;

ntshuam org.springframework.context.support.FileSystemXmlApplicationContext;

Pej xeem hoob kawm BeanWireXMLMain {

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

ApplicationContext lub ntsiab lus teb = FileSystemXmlApplicationContext tshiab(

“WebContent/WEB-INF/appConfigig.xml”);

BeanWireXML beanwireboj = (BeanWireXML)context.getBean(“hauv qab”);

beanwireboj.setMessages(“Nyob zoo Bean..koj yog wired los XML config…..!”);

beanwireob.getMessage();

}

}

Tam sim no, khiav daim ntawv thov thiab nws yuav qhia cov tso zis li nram qab no.

Showing Output

Qhia rau cov zis

Duab 3: Qhia rau cov zis

Xaus

Thaum tus auto wiring feature nkawd ib qhov zoo tshaj plaws kom muaj, nws yuav tsum ceev faj kom tau qhov kev ua kom ib ce muaj zog. Ua ntej, Tsis yog txhua tus wiring yuav tsum tau siv cov wiring feature. qhov tseeb, wiring yuav tsis tsim rau txhua yam scenarios, tshwj xeeb tshaj yog raug wiring. Cov taum auto wiring, tseem ceeb heev uas yuav tau twb paub lawm, tsuas pub.

============================================= ============================================== 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