Java taslamasyny döretmek baradaky seriýadan bir makala (beýleki materiallara baglanyşyk ahyrynda). Maksady esasy tehnologiýalary seljermek, netijesi telegramma bot ýazmak. Bu bölümde “SpringBoot” we “Flyway” -lary işe girizmäge synanyşýarys. Nazaryýetiň iň az mukdary, isleýşiňiz ýaly))) “Flyway / Liquibase” -ni belli bir wagta çenli gutarnykly deňeşdirmäni goýup, netijä gelýäris. Şeýle-de bolsa, ol eýýäm çekildi. Uçuşy iki gezek suratlandyrmazlyk üçin, derrew geljekki JRTB taslamamyza goşmagy makul bildim.
taraply, köp modully:
Munuň bir bölegi hökmünde näme etmeli?
- Maven esasly “SpringBoot” programmasyny işe giriziň.
- Şol ýere “Flyway” goşuň: bagtymyza, olar aňsat birleşdirilýär.
- Mysal maglumatlar bazasyndaky tablisalar üçin shema goşuň.
Uçuş ýoly näme?
Bir zady ulanmak üçin ilki bilen onuň nämedigini we sebäbini anyklamaly. “Flyway” maglumat bazasynyň wersiýasyna gözegçilik guralydyr. Sözler belli, ýöne nädip düşüniş goşulmady, şeýlemi? Uçuş ýolunyň çözýän meselesini suratlandyrmaga synanyşalyň. Taslamamyz bar diýeliň. Dünýämizdäki hemme zat ýaly, bu birkemsiz däl, şonuň üçin taslamanyň soňky wersiýasyny meýilleşdirmek we düzmek mümkin däldi. Her gezek belli bolmadyk hasaplanylýan nuanslar peýda bolýar. Taslama öz işinde maglumat bazasyny ulanýar. Elbetde, taslama üýtgese, maglumat bazasynyň gurluşy hem üýtgäp biler. Taslamamyzdaky guramalaryň biri üçin täze meýdan goşýarys diýeliň. Muny nädip etmeli?- Bu ugry kärhanamyza goşuň, iş logikasynyň işlemegi üçin hemme zady täzeläň.
- Maglumat bazasyny täzeläň. Possibleeke-täk ýol muny el bilen etmekdir. Munuň üçin girip, zerur sql skriptini hasaba almaly.
- Ouröne taslamamyzy ýerleşdirýän birden köp ýerimiz bar bolsa, bu olaryň hersinde edilmelimi?
- yza gaýdyp gelmek islesek, maglumatlar bazasynyň gurluşynyň häzirki ýagdaýyny nädip bilýäris?
- Maglumatlar bazasynyň üýtgemeginiň üstünlikli bolandygyna nädip ynanmaly?
- Taslamada bolup geçen maglumatlar bazasynyň üýtgemelerini yzarlamaga nädip mümkinçilik tapyp bilerin?
“SpringBoot + Flyway” -y işe giriziň
Bahar aýakgaby näme
Näme işe başlaýarys? ... Näme we näme üçin edýändigimize düşünmek üçin “SpringBoot” -yň nämedigini çözmeli. Ilki bilen, Bahar hakda çalt (gowy, gaty çalt) gürleşeliň . Häzirki wagtda Java-da serwer programmalaryny ösdürmekde de-fakto senagat standarty. Näme standart? Muny size nädip düşündirip bilerin? Bahar, programmanyň süňküdir, soň bolsa “eti” atarys - iş logikamyz. Baharyň kömegi bilen (mundan beýläk dilleri üýtgetmek üçin wagt ýitirmezlik üçin bu yz kagyzy ulanaryn: D)) Bahar bize hemme zady edip başlaýan başlangyç berýär. Köp- Maglumat bazasy bilen işlemek isleýärsiňizmi? Gatnaşyk isleýärsiňizmi? Baglanyşyksyz bolmak isleýärsiňizmi? Ine, bahar maglumatlary bilen.
- Http haýyşlary bilen işlemek isleýärsiňizmi? Ine, bahar web (Bahar MVC).
- Objectshli zatlaryňyz üçin bir ýerde konteýner gerekmi? Ine, bahar özeni.
- Dürli rollar we buýruk zynjyry bolar ýaly bir taslamada howpsuzlyk gurmalymy? Bahar howpsuzlygy.
- Diňe şunuň ýaly zadyň bolmagy gowy bolar diýip pikir edeniňde, Baharyň eýýäm saňa zerur zady bar we çalt we aňsat birleşýär.
“SpringBoot” -y işe girizmek
Maveniň nämedigine eýýäm düşünipdik, geliň zerurlyklarymyz üçin täze taslama döredeliň. Munuň üçin diňe bu mesele üçin ýörite döredilen web sahypasyna girmeli. Bahar başlangyjy diýilýär . Bu ýerde size zerur zatlary doldurmaly we saýlamaly:- Taslamany gurmak üçin gural gradle ýa-da maven. Görşüňiz ýaly, garynja indi agzalmaýar. Bu haýsy gurallaryň wagtyňyzy sarp etjekdigi barada gowy yşarat.
- Writeazyp boljak diliňiz java, kotlin, groovy. Bu ýerde hemme zat ýönekeý: hemmesi JVM ýaly we Java koduny aňsatlyk bilen işledýär. .Eri gelende aýtsak, Kotline seretmeli. Groowy aç-açan gyzyklanma döretdi (bir wagtlar truba geçdiler, ýöne çalt geçdi).
- Bahar wersiýasy ... Bu ýerde Baharyň esasy böleginiň we modullarynyň wersiýalarynyň yzygiderlidigine düşünmeli.
- Taslama maglumatlary. Men bu zatlary eýýäm beýan etdim.
- Haýsy arhiwiň ýygnaljakdygyny - Jar ýa-da Uruş saýlaýarys.
- Garaz, halaýanlarymyzyň Java wersiýasy. Recentlyaňy-ýakynda bu wersiýalar köp boldy ... Birnäçe ýyllap garaşdylar, indi bolsa ýylda iki.
- Maven - bu hakda öň gürleşenimiz hiç zat däl.
- Java biziň söýgülimiz: D.
- 2.2.11 wersiýasyny alalyň. Näme üçin iň täze däl? Näçe täze bolsa, şol ýerde käbir kemçilikleriň bolmagy mümkin. Biziň üçin haýsy wersiýanyň ähmiýeti ýok, ýöne köne görnüşi has ygtybarly bolar. Şonuň üçin 2.2.11 saýlaýarys.
- Topar: com.github.javarushcommunity
- Artifact: pru springina-uçuş-demo
- Ady: SpringBoot + Flyway Demo
- Düşündiriş: Taslama “SpringBoot” bilen “Flyway” -yň arasyndaky integrasiýany görkezýär . (Hawa, resminamalary ýazmak ukyby ösüşiň möhüm bölegi :))
- Bukjanyň ady: com.github.javarushcommunity.springbootflywaydemo . Bu ýerde derrew programmamyzy açjak synp bilen biziň üçin esasy bukjany dörederler.
- Gaplamak: banka
- Java: 8. Geliň, lokomotiwden öňe geçeliň we gowy köne sekizini alalyň. Näme üçin 11 däl? Näme üçin? Mysal üçin, men muny göremok.
spring.datasource.url=jdbc:mysql://localhost:3306/flyway_demo_db
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
Esasy usuly täzeden işledýäris we alýarys: Indi azyndan bir göçürme goşmaly. Migrasiýa dogry döretmek üçin aşakdaky şablony almaly: V <VERSION> __ <NAME> .sql Bu şablony ulanyp, degişli bukjada V00001__Create_country_table.sql atly göçürme faýly dörederis : / src / main / resources / db.migrasiýa / . Geliň, onda ýurt tablisasyny döredeliň. Maglumatlar bazasy baradaky ikinji makaladan ssenariý alalyň . Başlamazdan ozal girip, iş üçin maglumat bazasyny döredeliň: flyway_demo_db. Muny “MysqlWorkbench” -iň üsti bilen edeliň: Indi esasy usuly täzeden işledip bileris: Hemme zat netije berdi, ýöne taslamada entek hiç zadymyz ýoklygy sebäpli, ol işledi. Şeýle-de bolsa, surnallardan ( surnallaryň nämedigini okaň ) düşnüklidir:
- Maglumat bazasyna üstünlikli birikdirildi.
- Migrasiýa tassyklandy we hemme zat gowy.
- “Flyway” göçleri dolandyrmak üçin tablisa döretdi.
- 00001 haýsy migrasiýa başlandy - ýurdy döretmek üstünlikli boldy.
Netije
Bu gezek “SpringBoot” bilen bilelikde maglumat bazasynyň göçüriş guralyna nädip düşünmelidigini we ulanylmagyny öwrendik. Bu maglumatlar, “Flyway” -y mysal hökmünde ulanyp, maglumat bazasynyň wersiýasyna gözegçilik guralynyň nämedigine düşünmek üçin zerurdyr. Dostlar, görkezen taslamamyň deslapky kody Github-da guramamyzda çap edildi . Mysal halasaňyz, oňa ýyldyz beriň , men işimiň peýdalydygyna we hakykatdanam dowam etmelidigine düşünerin. Däp bolşy ýaly, Github hasabyma ýazylmagy maslahat berýärin . Onuň üsti bilen ähli işlerimi açyk çeşmede we makalalarymyza hemişe goşulýan şol demo taslamalarynda alyp barýaryn. Hemmäňize okanyňyz üçin sag boluň. Indiki gezek anketamyzy ýazarys. Geljekde Docker hakda käbir zerur teoriýa bolar, ýöne ony tejribe bilen agyrlaşdyrarys.peýdaly baglanyşyklar
Häzirki wagtda peýdaly baglanyşyklar kän däl. Ewgeniniň wideosyna üns beriň, hakykatdanam oňa mynasyp!- Baharda taslamalary döretmek üçin web sahypasy
- Ewgeniý Borisow - Bahar gurluşykçysy
- Uçuş üçin bahar paslynda resminamalar
GO TO FULL VERSION