Kod ýazmak söweşiň ýarysy. Dogry işlemek üçin henizem edilmeli. IDE-ler we düzediş gurallary bu meselede bize köp kömek edýär.
Mysal hökmünde IntelliJ IDEA ulanyp, kodumyzyň işleýşinde näme bolýandygyny nädip bilip boljakdygymyz bilen tanyşmagy teklip edýärin. Düzediş giň mowzuk, şonuň üçin bu syn, çümüji ýaly çuňňur suwa çümmegi teklip etmeýär. Iöne, elbetde, gark bolmaga umyt edýärin)
Ondan soň, serwerde saýlan taslamamyzy işletmeli. Bu amal, taslamanyň özünde tapyp boljak kiçijik resminamalarda beýan edilýär:
Ondan soň, serwer gündeliginde täze taslamanyň nädip “ýerleşdirilendigini” görüp bileris:
Ondan soň sahypa girýäris we " Agzalary hasaba almak
Allhli zat gowy bolsa, aşakda bu barada habar göreris:
Tapylan çeşmä gitmek üçin Enter basyň:
Şeýlelik bilen, hasaba alnanda agzaController.register çagyrylýandygyny görýäris . Görnüşinden, bu haýsydyr bir java synpy bolmaly. Basyň
Hakykatdanam, şeýle synp bar. Geliň. Megerem, hasaba alyş usuly bolmaly.
Hakykatdanam, tapdyk. Megerem, hasaba alyş şu ýerde, agzaRegistry.register- de bolýar . Ctrl basyň we oňa "düşmek" usulyna basyň:
Indi “arakesme” ýa-da “Break Point” belläliň. Bu, kod ýerine ýetirilişiniň nirede durmalydygyny görkezýän bellikdir. Bu pursatda köp gyzykly zatlary öwrenmäge mümkinçilik alarys. Goýmak üçin, setir belgisiniň sag tarapyndaky ýere basmaly.
Http: // localhost: 8080 / wildfly-gibernate4 sahypasynda meýdanlary dolduryň we Hasaba alyş düwmesine basyň. Paneldäki pikir nyşany ýanyp-sönýär:
Pikirlere girip, düzediş panelinde köp gyzykly maglumatlaryň bardygyny görüp bilersiňiz:
Bu ýerde obýektiň meýdanlarynyň bahasyny görüp bilersiňiz. Mysal üçin, hasaba alnan agza nämeden ybarat:
Gowy. Başga näme edip bileris? Kontekst menýusyny açyp, ol ýerde bahalandyrmany bahalandyryp bileris (ýa-da menýu arkaly Işletmek -> Bahalandyrmany bahalandyrmak). Has gowusy, düzediji dolandyryş panelinde:
Bu, şol nokadyň elýeterli bolan ähli zadyna girip, şol pursatda ýerine ýetirilip bilinjek islendik kody ýerine ýetirmek üçin ajaýyp nokatda gaty ajaýyp ukyp. Mysal üçin:
Şeýle hem, programma akymynyň dolandyryşyny nirä göçürmek isleýändigiňize jogap berýän düzediş dolandyryş panelinde dolandyryş düwmeleri bar. Jady dälmi?) F8 (Çykmak) düwmesini basyp, usullary girizmän koddan geçýäris. F9 basyp, düzediji bilen kod setirlerinden ýöremegi bes edýäris we programmanyň ýerine ýetirilişine düzediji gözegçilik edýäris. F7 (Into Into) bassak, ýolda duşýan her usulymyza girip, koddan geçeris. Theeri gelende aýtsak, bu maglumat blokyna aýratyn üns beriň:
Bu, içimizdäki sapagy we häzirki sapagyň üstündäki usullary görkezýär. Emma bu hemmesi däl. Amatlylyk üçin çarçuwalar goýmasyny açyp bilersiňiz. Munuň üçin açyk bolmaly:
Indi çarçuwalar goýmasynda usuldan metoda geçiş hakda maglumatlary görýäris, sebäbi “Step Into” ulanyp, koddan geçip başlady.
Görşümiz ýaly, häzirki wagtda programmanyň ýerine ýetirilýän ýerine elmydama geçip bilmeris. Indi "getDelegate: 469, AbstractEntityManager (org.jboss.as.jpa.container)" -de. Emma hakykatda biz durmuşa geçirýäris. Munuň bilen görkezilen synp muny subut edýär:
Geliň, muňa seredeliň. Bilşimiz ýaly häzirki obýekti görkezýär. TransactionScopedEntityManager-de. Näme üçin Ideýa bize kod görkezip bilmeýär? Hakykat, IntelliJ Idea häzirki wagtda haýsydyr bir TransactionScopedEntityManager hakda bilmeýär, sebäbi taslamamyz bilen baglanyşykly däl (taslama bagly däl). Programma serweri işleýän wagty, içinde köp, dürli kitaphanalar işleýär. Emma biz olar hakda gaty az bilýäris, sebäbi ... umuman aýdanyňda, içerki zatlary öwrenmek hökman däl, diňe işlemeli. Sometimesöne käwagt işlemek ýa-da sport gyzyklanmasy muny talap edýär. Soň bolsa, synp koduny nireden almalydygyny bilmek üçin bu kitaphana hakda ideýa habar bermeli.
Indi, netijä garaşalyň. Ol sizi garaşmaz)
Indi munuň üçin deslapky kody tapmaly. 2 wariant bar:
Indi garaşlylygy suratlandyrmaga geçeliň. Bu sahypada deslapky kody göçürip alyp bilersiňiz. Gowy, indi kod ýükledik. Galan zat kitaphanany birikdirmek. Örän ýönekeý birleşýär. Taslamanyň sazlamalaryny açmaly:
Şol ýerde "Kitaphanalar" -ny saýlaýarys we alnan çeşme kodlaryny "Çeşmeler" bölümine goşýarys, "Synplar" bölüminde bolsa, Uzak Dolandyryjynyň kömegi bilen tapylan WildFly katalogyndan kitaphananyň bank faýlyny görkezýäris. Ondan soň, F7-den geçenimizde, AbstractEntityManager we TransactionScopedEntityManager synpynyň mazmunyny göreris we Ctrl + N ulanyp synp arkaly gözleg arkaly elýeterli bolarys.
Indi kesiş nokady diňe Maksimilian bolanda ýanar. “Has köp” düwmesine basyp, “Break Points” üçin giňeldilen sazlamalar toplumy size elýeterli bolar.
Saýlanan kadadan çykma görnüşi üçin täze düzgün dörediň:
Mysal üçin, NPE üçin:
# Wiaçeslaw
Giriş
Codeazuw kodunyň bir bölegi ony düzedýär. We wezipeleriňizde kod goldawy bar bolsa, hasam düzediş bolar. Mundan başga-da, düzedişleriň kömegi bilen, başga biriniň kodunyň jeňňeline çümüp bilşiňiz ýaly çuňňur ulanylýan kitaphanalaryň we çarçuwalaryň işini gözden geçirip bilersiňiz. Suwa çümmek üçin bize zerur bolar:- Ösüş gurşawy: Mugt IntelliJ Idea Community Edition
- Maven guruldy
- “WildFly” programma serweri 12.0.0.Final
- Resmi mysallar üçin deslapky kody: Çalt başlangyç çeşme kody
bin\standalone.bat
(ýa-da * nix ulgamlary üçin standalone.sh) ulanyp başlaýarys. (!) --Debug parametrinden başlamak möhümdir . Serweriň işe başlamagyna garaşýarys. Bize başlandygyny we wagtyny görkezerler. Munuň ýaly bir zat görüner:
\hibernate4\README.adoc
Bu resminamalarda görkezilişi ýaly, buýrugy gibernate4 katalogynda işletmeli: mvn clean package wildfly:deploy
Gurluşygyň üstünlikli tamamlanandygy baradaky habara garaşýarys:
http://localhost:8080/wildfly-hibernate4
" formasy bolan sahypany görkezmeli . Şeýlelik bilen, synaglara taýýarlygymyz tamamlandy we başlap bileris)) Aýdyňlyk üçin öňde köp suratlar bolar, şonuň üçin taýyn boluň)
Uzakdan düzediş
Şeýlelik bilen, IDE programma serwerinde koduň ýerine ýetirilişine gözegçilik etmek üçin düzediş tertibini düzmeli. IntelliJ Idea iki wersiýada gelýär: mugt (Jemgyýet) we tölegli (Ultimate). Soňkusy resmi taýdan EAP görnüşinde synag edilip bilner. Ultimate wersiýasynda hemme zat ýönekeý - programma serweri IDE-den düzediş tertibinde gönüden-göni işe girizilip bilner. Emma Jemgyýet wersiýasynda birnäçe zady el bilen etmeli. Şonuň üçin geliň has çylşyrymly meselä seredeliň. Jemgyýet wersiýasynda düzmek. Jemgyýet wersiýasynyň käbir çäklendirmeleri bar. Hususan-da, ondan programma serwerini işledip bilmersiňiz. Remoteöne uzak ýerlerde düzediş (Uzakdan düzediş) gurup bilersiňiz, aýratyn bir ýerde zerur programma bilen işleýän serwer bar bolsa. Gurluşyň düşündirişini şu ýerden ulanalyň: IntelliJ Idea jemgyýetçilik neşirinde uzakdan düzediş Wildfly (8787 port üçin uzakdan işlemek konfigurasiýasyny düzmek). Sazlamadan soň, täze konfigurasiýamyzy düzediş tertibinde işe girizýäris:Düzediş prosesi
Theazgyny ýatda saklaň. Munuň üçin ilki bilen öwrenjek ýerimizi kesgitlemeli. Penjirä seretseň, bize “Hasaba al” düwmesi gerek. Geliň, kodda tapalyň. Şeýlelikde, bize bir element gerek, "Hasaba al" diýen ýazgy bolmaly. Ora-da onuň bilen baglanyşykly bir zady bolmaly.Ctrl+Shift+F
Sitatalarda bellige alyň we gözläň . Index.xhtml-de biriniň bardygyny görýäris.
Ctrl+N
we gözläň:
Ctrl+F12
Hasaba alyş usulyny basyň we gözläň
Düzediş üçin üçünji tarap kitaphanalaryny birikdirmek
Ilki bilen, haýsy kitaphananyň birikdirilmelidigine düşünmelidiris. Birinji ýol iň kyn - internetde gözlemek. Netijäni tapmagyň tizligi we netijesi taslamanyň näderejede dolandyrylandygyna baglydyr. Mysal üçin, “WildFly” -da açyk ammar bar. Şeýlelik bilen, Google “TransactionScopedEntityManager” -i ulananymyzda, https://github.com/wildfly/wildfly/tree/master/jpa/subsystem girip , bize wildfly-jpa gerekdigini göreris. Ikinji usul dogry. Serwer nirede bolsa, şol ýere serediň. Muňa dürli serişdeler kömek edip biler. Mysal üçin, Windows-da “Far Manager” bolup biler . Aşakda gözleg algoritminiň mysaly. Ony gurnap, işe girizeniňizden soň, çep tab ýa-da sag düwmäni ulanyp, goýmalaryň birine geçmek üçin Tab- dan peýdalanyň we gaty diskde zerur bölümi saýlaň. “Far Manager” katalogynyň gurlandan soň “Far Manager” -de açyk bolmagy gaty ähtimal. Diskiň köküne gitmek üçin basyň . Ulanyp, gözleg penjiresini açyň, bukjanyň adyny ýazyp başlaň we katalog tapylandan soň Enter basyň. Bu gözleg akylly we gözleg tekstine gabat gelýän şol kataloglary görkezýär. Papkalary bolmadyk nyşanlary girizseňiz, beýle nyşanlary girizip bolmaz. Şeýlelik bilen, programma serweriniň katalogyna geçýäris. Serwerde modullaryň nirededigini bilemzok diýeliň. Belki, bu ömrüňizde haýsydyr bir “WildFly” hakda eşidýän bolsaňyz gerek. Şonuň üçin faýl gözlemek üçin derrew şu ýere basyň . Şeýlelik bilen, logika buýruk berýär: kitaphana bilen bir faýl gerek. .Agny, bize banka gerek. Içinde TransactionScopedEntityManager synpy bolmaly. Sebäbi class = faýl, soňra “öz içine alýar” gözläň. .Agny, şuňa meňzeş bir zat:Alt+F1
Alt+F2
Ctrl + \
Alt+F
Alt+F7
- Örän peýdaly wersiýa
- Merkezi Maven ammary
GO TO FULL VERSION