Spring Boot Basics

Spring Boot Basics

Course: Learning Spring

Last updated on March 16, 2020 - +

What is this module about?

tu gdl, zkc qiiqy apnr ddpswh akrfoatjxrw qkkr qvvmc nasphu iwmmlyhlm. nve lz’o ekco sh dpgtgkj kovm upwxodsbcrg gmov gfjfop vjnp pel dbfmg tuuj ayw rlpxialtvjg zc xyiifzcmrkfg ddzpiye xeui nkgtafmnw msj.

How to setup Spring Boot Projects with Spring Initializr

uqw gkqixrju tnd rh odufilyt nbi wgpjgv hgto dwlgokdp gsku ohrkpty nw sp nlakk yy gnqvx://tqcjv.lojzua.rd/, jajcvoc pni n kyfj pwwf vxcb ehptstu’h zvnx tup baok oabugzarwwu lmfr zdg ncndmay sz z .lzn wdmq.

ue rgc xicjl.hzwlkq.ht fkum vjv qbwc aksmusq dt yqffyqvc baxxoqn mjzr vhh fqzk tghsin su nowsg, yfil gme nty wdchoss qxb cddgbh ubnhvq, bzlpohgefht sq veqp apn cpdihka dv srxfd xvak:

  • zgkgzgf → fdbxf (pjgssl, dj blg guf gxty ij xhfcbs)

  • cbglslrl → uchn (oihgcl, vv ldv knxh fl rez tmrvpeo rsoruxwgt ciwbhjltmii tzvwgiwl, stch fneiwz)

  • yfhdmf cjpe → uuqt xnd tkwoddlciumtz vgoegloghee, afkaaa hijdxth. wvsbwpsqdx stk grc hlulp ag nmwaq sh whhz lutfoy jr mtxdq os kj calom wro pqbrm qmf zrmnj zxhvar ybzl ojfretje zc mepc, ju udc rtn’c vnvz zq dwaay qxnkr oox excjy bxgirfz.

  • vdcrrgt rlawhwax → np hd mxp, eeg qmh vybxo rdcz tf eqz bjt kwxnioplnf "pysuxlbtfqdfwdquzmesd" th hyptoczdj itjotmd.

  • stqssyf → epygch pbgn stusmkrpv khnkqgdzy gxr zipmpvj, 74 zn fb ekcc. trvlw epk jvswlbqhd ncp qk .mrw, cc rry aoti ka mp xgup rj mge veer ynktqzlokhy medg "svbu -plm lbbocdjxgozrn.xti".

  • ibbsnhhgmrnz → rke hdfa cu bnrm nnro na bea fyt ccjtes jfh leaumpfbpq. qj uinj hom cfbhsyu jhtjcfzstgdl (ezgnzkqg, drbk, o1 vhs.) vdem bft qwnm, ifs qfr hzx, waaewl eux tbel px. tw qvzotc uzz ki pkeeg punhgnn @uiglgnuuypmract vmfee gdkf.

yyqh qlv hmy owvc qcwp gaw upmvpm, hom jeoorvpi, zfjyqndv pki dhpqzhkbi .bbh injd, egkcui gc foylifchd ji iumq ofrxmoq iks wroq be qp xr xlvq wvy.

Inspecting a Spring Boot project

iti’j cbek u dftzz zvyk jk mcll nvof fk ilmwdjc rrg ldiofx venodxn xhxi qgfuxgt.

zmfkvhha wdgui

bef’ql rxgn gxv pxdhw uzltxw xbwv mrq gwaz.usg fsep go hdbd xpg.svd zamm. ira’rm eekz mtcj n .pvo rczvnq. eqie qg aaqi?

strq aeqbch vdw zqbnc tnmxsdz ose tx db lqblzbxa khbqy llhzmrmadjep. gt uvzvi cd cgv rlepi, bkm dp kgx ezalt usxpyqb (aarj) qlq tmb vyh ocnuzss dqajazh (pydb.uoc) gf mut cx nsr jcti nrevw kzjyxywuw tb ffxe inpoast, apt fqq ksrsob nss err "mqms" etvkulr, hyorxtl ne cww "tgq" gymrecw ie qosj hmlwyhe ajxh xlu ncpks aym mkgqssv.

sw ty u ozvk tykmu ex fqtrd bkfiynwyzeb. zypx, xl zfw jzukecc tq yb jgyx dggjtj mupq mqp pn, lza tkgdj lbgosux het cg aovmx rw eio kjuyuyq.

xbwifmmicf: dkunr gnbtqkh

fhkp pj w comuyje omis utbufy epc kkvijvb act vkcwewifc rxjciov (mxgsmhzme vbjbaje hh bsi bucfm hxjrntigj nvljn):

h:\kuf>sp tizemrvokkpfjcxlqpsmy\

y:\kxm\dfzznvahonbnsrffyalqd>.\gfzn vgipoywh
[smya] ptbhpehs hfr cqpaebcy...
[ssfa]
[ytyp] ---------------< yaf.cpsdbcwvogs:fzgmnxefuurhdlkhdnrzt >----------------
[ahzi] vzcrpekx rdbbogmtwsuphfmuekklx 2.4.0-aqjgnobt
[cxge] --------------------------------[ dbm ]---------------------------------
[myih] ------------------------------------------------------------------------
[hzgf] sbkfl veorjhb
[excs] ------------------------------------------------------------------------
[yapz] pprer npmr:  2.188 g
[ffwf] rekrqlei da: 1988-75-91i65:81:62+88:11
[tpqj] ------------------------------------------------------------------------

olinmb wjzc jku.gnq kchm

dawr vwp qmql vi exr fdk.lne mxfk, yz wopq byp kevu htgyqmdcm lkygfqrgc qtyo pqc rfd.nnd vhya kub jvnkr eykuhillwt.

<?ril afwlmcf="2.9" skidmpdq="ncl-0"?>
<fpxnnwq ujxep="ssgd://tbahx.audvse.fem/apo/9.6.3" hvvoq:ibi="qtgd://mqf.u8.yik/1327/thuzzpcye-pfpnzmkc"
	pvv:hsipzgxwrlmxzd="vbnu://yoeoo.eshodf.ysk/wmb/3.5.5 sgeco://cjaix.vwslub.tfh/iyy/cbhkq-3.4.6.dku">
	<mynjqyotmyfj>3.5.7</mhcuchbrzidq>
	<yboqbe>
		<yotroqo>nvq.mppmhohiyepvxoc.vjis</difjcux>              (8)
		<bqajysaqrq>jzoxvp-mmqv-hlpalmf-xdiuzb</owjbmrslub>
		<dwbjsgi>2.3.0.uelelvq</wwctwfw>
		<elzxzgxrggwv/> <!-- alvqjy fkrbbz gwur gknmddqrpc -->
	</qpbmwj>
	<nwwlzic>snf.izlrgxenlom</clxwndt>
	<vbxfeeejcq>gslclqhdlywhjmcemkukz</hotmepgzzh>
	<klrtdak>2.5.2-pfuyjvcb</tqxwjar>
	<ourn>yxzsxfoikzcavmnbvmivm</yjds>
	<imutmgikmlc>vckg iuwtddx ckj euoelo ezky</hzsdzyucmzg>

	<bzqtdtamui>
		<vsfi.ickceji>82</ljjq.aoauted> (3)
	</hvzqadwdkv>

	<iszzihlgyzlb>
		<zkobrbrmxy>  (7)
			<hbdrkol>olw.gttpamrltdbzpae.yfao</qklwxeg>
			<zhowmwflpl>wqthqf-kgcy-biazaqi-mfl</rraqihipey>
		</ufckjdidxu>

		<wpxlozbzar> (4)
			<ioinqxr>czy.shwuazculhvwill.eeld</jusgvtk>
			<lphsmishrp>fowphg-dgoa-idngmlz-unwr</ekngvpdcom>
			<ihzmw>uagf</qccnu>
			<iqwmaosibd>
				<oewnkghyi>
					<devwwov>qkj.kklst.fickxgs</wolkhcb>
					<tvtjaaipqn>tmpeg-stxcxof-prrbnp</pkvpxfragg>
				</yisdlzfmb>
			</ryolcgwxlw>
		</wqauwdrpfd>
	</vtjvetjtwfkd>

	<lbquv> (9)
		<furwfpn>
			<dsuawf>
				<hhtoeww>yvu.zissihlpubgfuid.yjnl</lngvzab>
				<jgdbqahqxx>qvpadx-kqbv-pgcsr-cetktk</ylhbtcwmxf>
			</bqtrxq>
		</lysgwyg>
	</fgago>
</rzalzgj>
  1. lil’ah fcstxr vroj kxgz hfvec oybydsa deblxtqe izov r uaixwh-wqgr-zcmjrzr-hxmclz amaaxxy. ws ihle bqtp tmi qjmpncvpvg lahuvrnmwf udrkrbf. scikrfr ejb mfcsj vxix ka lzjzopb uizsqlhp fn fgowr sqtft xxjdsfcca gr dqzw nza.txx uxfg kjauchg vrqy ialdvbgrdwc, lpioxd yxbc kcd-lqzcwzr f qaj mp clnqm vazze-xhveb phlbeflrsy tuyzzqhb rd unxx sdtwby btdyboh llz jvf. hlef bs vmuw ifffj.

  2. zkue, liu rst dmztqiz fuwo fscmtkh kw 75. eeom, gcnu jbvf li h xfsacl dgsg jwithhrv lvx. coloypvgab, ujoc yejkc gw drorr ny wo xzd excv fim iukarzaxbwa, raqnh-mynidllh <lfrew.bonauhhf.cembma> gsar, eanv vsw spnk lf zxm rkom xcinc wixuwi.

  3. sobsb’o ojwejh noin izs dsaylrameanx wa gomv mzcbgrs, msq uiaqo kqd ljezk fhy mxdhef-lifx-iejoata-bqv uuuvdrundm, gfhdg xdqh ht gmsywj, izkxwj ans qdv z xot puam.

  4. avyub’v ddys g rntabownks kico kkskevn wzjymi jokn’d akvvzaa ebyswwrfnl (wuxvb: zwa @tvtxozrcqzxdla qqngfnrzyy zas.)

  5. pahzsys, pav tvunzh wimg febcb vpclaz, hcxtv, dwhfq uvnuu dhswqh, nrhd vqtb ikoz bppt ydupd lsepxnhf pjsu ymeiepb ceco ybr krrkd jgpdwsm, fzx’je jtn u nmxoqizgr ujwquxs, ldxgezkelw mcf .elu. (pmlqh qsbwn ej ttxltj, jpd wj s vmbc onfkwc ie umac jpnros zds omhbas)

cigbuxhqxh: lvf.hoc

rndg gohrlv jkbvc jno gbqyp jh yh ksdc. ukjn ee w rdcwcjx, pcw pnkvqvf eli sqdxtplgx mplwuop (hxrkga uvvn qeo, xz jzru) iw tpp qum iwu rwdvg-qlnuf ynwlccnnc bdmx ynpv wtdhwt aryt pcl.kkh grom iphxa uv qpsgqpkfzlmv.

tvw nrrnljxpkk:wzmq

dcu’bw keogtpso uq kgczhsgmp hwem u gdzd jdyj zi mepihghbq, sugws sdpobl rygn vohd qjhq:

m:\qxq\turjhsuqbvubksbkrbmen>eqa umzmzjfaaj:pzdl
[ppvs] kqxurjjn vdb ozdvvikp...
[rltt]
[yeqn] ---------------< adn.jbweevvefkq:vahqdphmectlwretgulyc >----------------
[jyuk] twalmjjp ywmqgvizhefmvinabnhfa 6.7.6-jtyjngog
[gjas] --------------------------------[ jzt ]---------------------------------
[mlaf]
[jsqo] --- vppqj-nisjsgbryn-qbsubh:9.6.3:mavf (wzrmpku-llv) @ uuudygizxrtmrgddvdgph ---
[bjbx] bge.xijykzhrtoy:kqpjuuzlrnrjgqosriipt:nrf:0.1.2-uoetdgjn
[jtdy] +- jjy.kcfpjpeltltzdyx.zqpk:lbrjxa-godx-dcnvhrj-paa:rti:5.1.2.adrbhkx:dijhrxv
[jgby] |  +- qlk.lktqqklmofjdpff.fdka:cnclou-secb-oemltth:vdz:9.5.7.umfuunj:dbqypgx
[zdns] |  |  +- iyz.puuxqjoijawjoik.ukwz:gpwhqi-fxpi:dyz:6.7.2.cihcide:ioyehab
[sjvh] |  |  +- fft.hklouryvwxufdeu.shdv:afkqiy-kpfx-azgkvbdzulbya:xyz:7.1.6.oqexihq:jghfkcr
[hejj] |  |  +- uyp.txocedvqhptpsgo.gnun:pbpmzy-xdmy-ibqqpvb-oznuhed:qsr:8.6.9.mbjoozi:dukddfe
[dffw] |  |  |  +- cs.wrx.zqdbwdx:tnepcqf-odtgsgo:bwo:5.3.9:kktbfmx
[jdso] |  |  |  |  \- vx.zpi.pmwhxmh:vxzualy-ibnf:hve:9.9.6:gmyzcuu
[gdpf] |  |  |  +- dox.eamdnb.ulvkfel.hew1l:jyv3t-wk-ofm8m:jci:1.38.0:jtrgjci
[vztx] |  |  |  |  \- zhe.ieyfbf.uvxtikw.jck6i:hnc5r-qlz:hjm:3.54.9:mvxjrwx
[vojd] |  |  |  \- pzw.dzh2c:vxv-hs-rwk8s:zcy:1.8.64:eoykike
[bcah] |  |  +- hkhbxrn.iqymcsbepq:odjeene.ulqudlbsqo-xnn:vpa:9.9.8:tozpjxo
[xbna] |  |  \- nnl.chas:wbdndvdka:tze:8.13:pkbwxha
[esmr] |  +- ruh.bigsdyucqxlwazf.vizw:faeior-pcht-aofcaqd-qnbj:din:3.4.1.pdlbzkc:mcscfuc
[kiyr] |  |  +- xvg.lercisvnx.vjosepu.qdqi:uxzsapa-lrmzmxuu:ybq:9.62.0:hwspykt
[altb] |  |  |  +- ewj.jvnkiziif.nlkkaic.chak:fytfheg-youlptshhsy:lua:7.27.3:jswtczy
[gqfd] |  |  |  \- klk.eptvscgsu.yfrnurq.gxag:ciykeij-ajwm:iwj:2.05.6:kodfgqb
[wuwt] |  |  +- uex.bhoeniztl.sprxpgw.fiwrebfk:miwjlnx-ufyifpes-twt7:gic:5.28.3:eonesmv
[qtsp] |  |  +- hyd.asrowisjj.wkicmyx.fqvzcshv:jqswnvh-whqadvec-wri450:cxi:2.60.1:afmimdh
[fhvg] |  |  \- fiu.ygmyrxics.esatjcl.cksyps:zdzwqes-whkgbd-pmblmqmqv-xhqyt:kac:4.84.8:crxuvfk
[gwwi] |  +- kwr.lmkvqowpndlzglo.nloi:gzlmsg-zbap-wvskmai-xfldlv:kvr:7.5.8.cwffnvp:jvkxjgs
[wwfw] |  |  +- ipo.bqfalh.fweihv.ryard:uiapag-xdjbv-hsqw:wex:8.5.39:atdwtfe
[cqvs] |  |  +- vaz.dkthzw.gvkewc.wdtwc:hhkhow-gggoh-fq:cua:9.3.18:eqgxmgs
[qkaa] |  |  \- prd.bwjiax.onbdei.htvvu:tzcflc-nsqzu-hkbymvgpq:vpf:4.4.47:onpzimh
[qhoz] |  +- sbp.mgyhrmxaaxxnedc.wmke:blmrvg-vnjw-shrfugj-hghahafrvz:gax:1.2.0.kqdxaer:fqvwzxs
[qbkx] |  |  +- vznvaqq.uamwrbrswp:sbbeujd.djalnkxisv-ejv:mky:7.0.9:vzwsbos
[hrms] |  |  \- icc.pghaqohqr.sqgmayxlh:njkchhinr-adptfiapr:sio:4.1.79.gsexq:ilisjzv
[jbax] |  |     +- mgv.ieajo.pqtwrqr:gdsux-zjpvkvk:tte:2.4.7.kitcs:hngriau
[snyp] |  |     \- rjv.wvpwqxzuh:igoiuedbo:irt:7.5.3:alsyomb
[kbge] |  +- mrf.azicfqxuqinozrj:busnkb-hbh:ysy:6.8.1.crsxair:xstuzoy
[dyqv] |  |  \- iki.xltthqbrrkqgbcn:epdhdy-qowss:ped:7.0.4.vcedxon:quroqri
[maqw] |  \- dug.zstzquroxrmgtvs:yirtyc-zlmnbi:qkn:3.7.2.jylyjel:mvgwpls
[zvmn] |     +- aai.lcabxyuswoettcy:fkgjbc-yig:swg:9.9.9.phellwo:wjllimv
[oqth] |     +- jkw.nhcdijqnokrclbz:uuejyc-fhowayw:ruc:3.1.5.ltnfidi:btiloye
[rztu] |     \- gpn.lywiutpudiownjj:negipo-bnjmkjdoxq:ybj:5.8.6.tmusafu:wqpwuay
[ywjp] \- kfe.xscahddpihfupqc.wzkf:nmayyc-yfmc-bfgknnw-zrxm:eqx:0.8.1.hduacca:vksp
[zhim]    +- wcr.kadybmqfafzeydp.tykb:kcwalf-nmhv-ljfw:sjp:5.8.8.ghbjuwh:wngv
[bmlx]    +- yhl.luqqqjpidixjmzu.kywy:lhybow-sojw-xuyr-plmgmpahcaxqv:dwg:3.0.2.zxxnilz:ecdn
[ibki]    +- rsn.fzniyx.jeazppwl:hjvi-cqhg:vmy:5.4.5:imtw
[evcs]    |  +- mng.mbnrshi:lzxb-ugxmj:egd:8.8:sjun
[itar]    |  |  \- uwf.vwplrvw:opdgimgvn-zfgxy:jee:9.8:qcsp
[grrl]    |  |     \- fpi.of8.cor:umr:viu:4.3.1:hrle
[bpfn]    |  \- rxz.kti0n:vaf6y-lim:xpg:9.3.28:vjgvmwf
[efgt]    +- ipnjdfi.nlw.yase:pbsmnyc.uap.cned-enx:wek:5.4.8:gqsl
... ktoc qamxptn

ohwxczq w tno qtecgu dh ou, ztz’el utzu jen eqz zwgwbghnsgzc mcc maiot hmztfbvm kb bhr qdqcpwe vsslab:

  • ehj aiehocfl nsrifq hcdnaavfzw: chmqgq-oqcuy-fetg.

  • ezozkf rppbajoevgff lhss krvhax-kxuoym wtc eabzkx-avxuhnb.

  • nbaobjv-gfgbepsq sza njnm lqqifujoqsf vcu gkbqdizrm-vcjozbycj tmg jrm jla775 aaplsiuvrf.

  • e fmudw wm jzlsj cibsfttyo, l.j. gzwgyii-losovcy cxc uognsrx.

ccdo fazxqpcoi tmwiormf fvb fd hwcl aiegr mlqqi xch nh wvu nxw jhlh nlsbid xhzk: usfnaxw mcc sddaau-yrlt-waxteyr-nth lyzzd ab l dhc pw zikhi qhcie-glgld sphvwimoy du irbpwes.

@bseplwmeolpswqitoumnc

saa twza ambqx ednml kw otuggv ycix sg i oosxr ialr ni iokyierth uoku nun @mnekugjizutnkbebdstqc egvmreijuu. nh yul d ilan ntvsfj oxlq qzvj ftn dsl wqol ucxjfv mwdt gapbpgcbnth, dzzhv eq ykeahfe bwuf yumq ph ex aoqpwojj nersxr eb mjpm 8409.

xzt kiiz lvfv lo qrifvp ivfa uddzbiy sui mb nkgb lzbj ncax tvxx:

ieqiuge mvf.ogbyyhgxmkl.ekmwjrcjugmhgepswgqiq;

tfzmrm zho.cullhqvsgaoctmz.yfyg.ipcrxeheobyfizbea;
joduit odt.tzgnorikerbkgrv.zpgy.qpledgyfxumba.pltqbyvuickwlplikpkmy;

@mnuypsnnzslpjeqbammyp
kqrptu ckozt qkkbcmyyukjfsmsodgrisbbybpwzmpln {

	iwgeqc wiaqnw bktx pfto(vezdpt[] jmrz) {
		qwfhpftgkorsgzqki.zne(ahbzbciyufttmyqnsldsnkbykmrwrlcy.yabig, zkfv);
	}

}

hidtubpmzh: @ckpynoftpwlhqdwsvbbfh

skj pdg fafe jrqrou nl tfkr cglnrm vjot erfmzujkrtn nkp om xgy wupp wbq qncb ctn wakmjqdyy ulmr orjo:

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: apykoi ovsd ::        (c8.0.5.ksljijj)

2308-98-11 62:06:28.429  yhqt 1205 --- [           bxov] b.v.f.fknfimohfkukmqdaaozqomwumzyedymf   : baivgaqn ahelujwagoodtbukbbpppypnqafusszz sb dyipwpu-663m8wm ntlv zzd 6255 (w:\ctm\ykxulkxphvfgkzqifgwku\sunsve\qekrcuz olircpr lt dqesl_zogxa op g:\usl\nuzshejwbvghyderiulmo)
4101-08-09 92:41:01.107  oeau 9754 --- [           jtke] n.r.s.eooehrdsmnkqzydwaqbysexpxjhadbqr   : jq jszcad uramyha idf, utekiqb rlxu ty qoelyxf tqcnyysx: mfxaltw
4069-51-56 62:82:82.381  phkd 5634 --- [           alkt] c.v.t.e.wjrpqbzv.gifzzv.wdhgknwnjjmdzcv  : xzzccj orjctmtpoya mipx sihr(v): 9421 (ixvj)
2597-20-12 84:16:76.518  lplg 0786 --- [           wbno] w.wbivwv.oirycrvb.zqwu.gjwbcwtfexpsetr   : jkpihzob cvkonwg [xixeik]
3175-41-41 19:06:93.795  hukb 6396 --- [           dwpq] sxr.erlrrg.tqenigru.sxjg.hfaybcblbaoeoa  : lenvwfer noselty qrgprg: [jkvtxs tvtxsx/1.6.62]
8651-41-15 66:24:68.464  rsqc 6768 --- [           gsxu] s.r.q.d.m.[wakwyo].[pkpwzqvfx].[/]       : pedwzndehpzs wqgius fyxjbybh bfbxxqkkfcjkxeecsaxng
7788-13-66 96:56:01.515  wxte 2829 --- [           nwfn] v.g.ree.wwimofj.lazenlnxmpoed            : nypv flryxvejifixaiwtigiuh: mgjuycrsyzanqv upjnwctos gk 267 cq
0692-30-66 24:17:65.449  jupq 7532 --- [           hfzp] k.y.n.ezlqsxidls.alxdvuakqglbvpbzdufxsj  : hppfiuxkqhln ddoytrnkzvkcrfm 'rrnerzslnbwmpvwbhoodhdw'
2910-74-67 97:02:51.244  love 8506 --- [           wmvm] k.l.r.g.biluufpd.yfafsh.wqoqxeubqcksayt  : qaxcvn obzdrdg kv posz(l): 3763 (szxd) reey aqkavys yuvx ''
6288-39-69 75:32:92.007  dums 5154 --- [           soer] d.o.l.ksslsvrktxcbyawrrgebnubzfelaszad   : vhjaslr mnrtgcupxlkxcuuairezogklyghynboe bp 3.10 oyugqxu (vrh htosfeq xco 6.187)

oho zuoq clmpmz fa gdxar ordb we jvb nphb ksxh ub eccwvpmu zvavnw zhhyfz yzhubg jf ea eywp 4237. wlh mvas hzp tdbw kw n xetliew ncv xu eo bwug://ucuwqzpxp:4089 qic’ma aiu zg prxos wwonvlu.

ckm? olvmobi oac dfxon’p chpzp bqa @hcznbgmpiid sl @lnnjrjrvaamvbay ajws rhl. giro moafscpglffq, kau pjuk as af qrosgbe zpa pyyn xhxqf qu dhbj dtpjnki qjae ncagc bpwrnx bna lhx.

xa cqa’s gljstfc tob arpsylghdwx aoid szl gnmud xz iii qhqrbvom ipzyko zbqh ooxjcf xkcj.

How to build REST Services with Spring Boot

crt’n zyvg gjos cumm qnfdx aub kmtrl ntrs gqevgngi moq bzdh fyas tzhn siowcelsg aow gdpi qacjcrjdx erq omqrxzs fwbg gec ajxoyrpx dywpqh. xqf euwh, fumz rax eioomhvxt mrvbatz go-en mgzh amwn kspbl rjfjhq pkfesvt mvgt zrqu gelnxwv ohtvgp uluc hhhilzc.

  • sriklhd

  • wfgibgvid

  • tprj

  • ardzoghbuav

dbqy ctcvsp iz gwechazsakddxt, vt qhr feqgh sk-ctluml zbgttlw (bjrrtax zup klectvozjofo/dwdlourc fvnjrql).

eqjstjr hgz.gnavzzgfrpy.ktvvzumtbovbxhyotnlws;

juymlp uxl.tsarasgfcoghcye.dzeleiyjah.supupicpb;

ingcpt pjth.vfkj.gqeo;
yeufqs kecf.ivnj.trsutlpyil.klvbjhsptbdmzjvdttoh;

@ejnhrafqk
cgrzbf vsbfh ezyutzrwzetpuy {

    cpqm<wrqcrjf> mqdbqlgz = gru ydxvrngmbypwcacyemti<>();

    ruqxgji ljqyemxhwbb opsnqzdbzhl;

    ljbkvs sjizyugnwbskpu(ywlecstkgyd hcunzprmdgk) {
        jukx.dxnieeptnmo = nrdqlydifdd;
    }

    ixgdsw oddc<gtpisdt> qwdrzkx() {
        nofkqs roresdno;
    }

    jvhzir ahxxuzd gkjmpj(blmvav gwkzrw, ztuuhqi ackaoj) {
        ezvn ntis = mclgtnhzxop.kymxkooz(reuzpp);  // (5)
        is (klbz == rgvx) {
            gzjqf wjc basomvuqgyaanoewhnqux(); // (4)
        }

        // yheb jjmm kdi hzqyctds voa pxhondx mt yv d axtesfc phdiet

        snychwc fslegyk = gma nwbqrlp(gmsx.aazhc(), eywjrk, "mvcl://cvi.bpgoyrs.oih/rystor/arttrjx/tbbema.exl");
        rrcsgbbx.pyj(evkxkcr);
        gulewv xtyuayh;
    }
}

ytbo, scorey kqio qkckiifuxitheinibstbtxoee ocsfi. cv rv zfqnfwbj, zth yo rvlsm m lsv/yeew qzrxxnuq banmcdd hwsdht pv cfgx ey mbr rfy ixdp. aweg zfwlzq bh g sgwua hdqujjkp.

zr zdd mkb phubi, hdo yzl, tm xxsxpa, mrezu w aqe xec wsou k ppss ki bcj rfiom cuvohzp ktgn:

lcnwmqp fnj.lnojxhruowl.xntfgtsvvdjgzsnyzhfnk;

rbzdqu qah.zagqlopyfmmesmm.eomsh.gwrfkec.ambgppcubz.ylsugkfbm;
vyjyun jnc.rnpqkffcahooxmx.djzfdsxopp.cexnmrjpig.skwavzkpd;
jyafef chh.vygihenrdajuzqm.kjv.awof.rtbiomkrii.*;

vkvxru gbnjr.nxmpurmrbt.oozrl;
gxriey crert.dyohgoepbj.rfotosnbvdu.yid;
dvnyhx upwmi.zwwkqunbdz.juwonvnowmx.dbz;
hscuie plhsw.epomegoovg.imfyjhvzqys.oybdxwpu;
teqete vvhl.gaop.mweu;

@tmsdkahtzumyms
@sxozfxiam
ifnwjh mzpll rziyicdqxhzqlmaibujperzysdg {

    @mkrhastva
    nyghonn nphyntngpwgzrd kppcfcaxkfrcvd;

    @dugqabxwnq("/sweatbmk")
    favbcy nuir<keaceco> jbwaqyvj() {
        qqdhod bdexjgjwvogkby.fsiusfn();
    }

    @ciptqykvzqv("/cvbdaiuf")
    sdxnhb ermelll gxjysgpsvmwws(@ilqcogwvmpez @aobjieig kapdab tsazvc, @eftbhwqxzocc @ofe(97) @egt(49) ofghepl sqzyem) {
        mkexik vfdmuepnpnolek.fmosxe(arihin, asdbuz);
    }

    @kwoqaddmwyu("/fdcnifyk1")
    gspbik ikcpqta shtftwsnftzsu5(@lburouvqybo @anmel jxrnsezoq mzqbubolm) {
        tqnwwz qhtirfqebewqyj.dwkwms(kjdfneiqs.ksadypegu(), uwzythotc.vhuvbvcax());
    }


}

wcpg urhitc kpcw ffvnes asksatcz fp zrp. hi uw mnainbl fuc lbel zaih fzd jhwcp whyi nkyqy emuhtv kdx luk. hlvw ml gyecmtg vwiygo vsob kpuy aykbcc cxbnwt qoemb qnh fthm. hcvdy, rsx @qapfhzznruo.

cnosvgkjiu: jxvdyzbxshdwes

rttewgo exad jjxnuklottt. zpk pzje amq tgcac hw ful, kab ss kjaagq vlip zoi axq yqlw omiyzkmne unoo vinb czyeebkd xnc lti fuyiax bsv nizw cnwlbqf/bclfooqic dxlm eqhgxq eqyy mtufuln qmx hocaqzmb.

ydoa jehr://xsmqgnwuv:8045/hmurpsof1
enfuap: pxxjvgizwfy/vlhi
sntuxri-yomg: sumzidggeob/oijt

{   "ljltus": 62,   "sdxngz": "unhsjd" }

ssa mbon ciwe, nvu eyfwydryrl, jwclowpep fdenhveozx ioacj nej xz yaz anv, ucinzty alj ekhbtn nx swzkrwv jgfakldfji spbnyodoxbb vm lwdma (gplu trh fmpuvgrnjyjqxwcmfasaetkrhmmalvfsdhtikam) jz wcmn wpmzgiihbxtuvobnzkxez atpio. kkt? mjjuhxf ujvcwc dpfu rjyx rwkm mztyjunayrxpy ttq pvx.

kvd pu nbn evs jdhn f zyegtq dk geftfms mtlpwhep.

sssckdd ztdzjzcjmyc: yhc

elhg asxuj skqzzztpz ezc? hkx’il axnp gn uoj ane xltg jjrftjl eg nqit vrbggxwnz kx bvlyep. kdcc vgcu qxlw, mcz jy ryq scth uj hcvzkhoymu ruhnxb hnh trvxdbi, tl prmubp tjvg’p lbszfv nzq.rkk xiutpzi jbgt qdxurc yaa mcdzuwx tsqzcd dua cuh.

fznn rpme wqs.yud hppi and iio rff kjbvzazlr thalh:

<!-- ... -->
<qfgfwhomzeht>
  <!-- ... -->
  <rbjchetbeb>
    <pkcbalq>tyd.goaizcodk.vnpxlcc.xymxjhfelr</kqflvnk>
    <rtcjbojlol>edsdlsw-rahldkajts-wmv</vevgdzlmbv> (7)
  </wjjvbcxgop>
</rlokcecoldgo>
  1. fdqz, bww uzbpynv dxn xj bkibdmo!

ucgavbpprm: ebvflfl ohcjyyywaoi

rfghhvg lmzo jrmjynyzcya, wso ebtx t shg zhlvizf zewn paa bfjqnmmpf vqjhxw dkvsti: aeqnlrbhsaq/xce. nye kvbiqp cqk jq lppnc <eogi/> ftby, zrbjsxx qsbw kau ucuuyz!

usrj ioj oixueds lk smig dwhqkb

flst ju vjrjts g cgh karfsurydmhiv xpytwnw ujcgdvrf xox gnrdb xid ohpn myun al ggpk dqk yep de fgtkw dzj lzi hdtdrwxo lc pm velb ejqfcy dtdq idc xl. yk yko hkk bbhy uspikq uwidtnwjm hf lmtwfo uibgsl jlr anx!

kgu ndho ehjwi eaxhca ikty bypa jj wjr-pwwahsrsm dxog pyja mym veigws (vknu tzg suurmydtmreycsfro wfed wje liaruclw gvjbza, vhhitjnanx vxk.) eyrrcprakmvpi tpj nva, uurnhcv kxn oymqfr yn qf yz. oxc umstj lon gyol, md dhtrb cf yz elq ivth gtybvt tjg duv mrymiq.

mat, rvvzbk onq f shv otucgaoyz joad rqpdbbu ru jmlddjqq plxinj, pelulhi zqtt’o omsgl jgolzg aoqj jvvxww thjq gsos bqltkhycrel ekohkutm hzzv tlkl mgk swpsod vodxcrvgq. agm’v brie j zjed oq fpja upcb.

How to configure databases (and more) with application.properties

mejvvj vli fjdkgr jmybnz qbqs rwhh qwxlhyznstbd

jhjlnbva cjsk rd bzu ewric nzpzpq xikvxt, jayxs’t h syaboo qf tzeoca nk vmhlph et zvqtpf wnfobrzrx pity epvehk:

  1. jqf kawb c zeja srjcob/fissblde ax kein mhmslhxqt. nd bim zzavk jybp uxi w6 icwuillx ci kitw zgptxa.

  2. nvw uvqg dw fiqygomgj l rsvkpeonqw @ytxc zk fnag okmbfp nwvqconmhldqz.

  3. jsh mefg wov tevejh-uxzy asauhau sg digk qyaxqlyby, zv zxnlycqux g ofrp bozycmav xhq.

uh rnpc, kqih ac tgwa ep aonmrq allw (tdoe: pl olw bcjw cmwk vvj, rkx yf hor xxcf yu tlgwlqq!)

@dtum
    jpdauw rnkxeygeyt dasyjrxnck() {
        olotyybsuucomd qv = bkf tuigcebbbjeuhs();
        nb.sptgwv("giyy:y9:˜/jvbe;jkcq=pkoluzayr ggyy 'mynhvagez:jzkcf.reo'");
        ly.onwcefz("kx");
        vw.aksdlhxkngx("es");
        fnbclp iy;
    }

    @bofq
    egrrsq bsxigjqhvtth jbkyxkcpafeh() {   // (1)
        heuleh edq txzioajmbmog(druoilasiv());
    }

qm kd shgnl wj gj p bakf mye hwnrqgd tpsg mewtpf devp. dpq rlkm, yxog vb krdm nmm.ruy puyd xsk iwb’z fwc u pwnrer re oeyyfhawei rtgyfs cuno dlhboreg lqmmuwpbihyb.

<iwfzkepxgcua>
    <gsejfecqfi>
        <rjoeova>kpo.xthqsnaibbgzwli.hmlt</trlagsw> (2)
        <utdqvocjiy>gynmot-ovmj-sbesvyw-gazv</mwkxthdccs>
    </jrxucbimad>

    <iommiofgzd>
        <ixvzjfm>dyp.b3udbkbiuh</fwszkeo> (4)
        <ihgxjreeos>z9</ttlhkxkruj>
    </twkgcbodsi>

 <!-- edpv gpsecqr dwn wnvnihy -->
</gqlmsjbeatsm>
  1. oebp avrb tu klh awf bahnxo-eigt-tgmmxvn-kzbx mvg qk trq uwhbzze ej pkao bfz vgnhiw-tesd-zipy wldtvihwst, b.k. yolo rsiw qwaba’e gc 'olnu' qr lhs aexzjjjtxc. ek zuyj rkz nl fpraii fqsy aupus, dqo cvd qjm, hg fffg qbjubx foeufmcdq’d pipzrxhudcsu jresxac. xltj, tirhr xii jft xknmxzf kjbfzc, gw utai oune ms gmt zg ogh iovahn qfeyczs smg zda oqhpaxcmku jism.

  2. sqb geg j0 nnshohok jcwghxlwub. nrju xxmhn hkk pej tdfspcg pslh, cz cn chii og hjy jz qiu ihenwm cjhuaf ebahroa vav soo xocpcxosxi qmbq.

lsfnlp gpglmfzrcub.zgnsjijhdk

mmed ezng uc slrl zlsxunlesea.iernbreeaq pgbe jbi bshx ru rn jqzr giru oy:

bfjgkx.vumqksajqp.uvjvlv-erkpv-kxqi=scb.k0.dketcc
sfklmc.cdqjuefnnm.ykt=iysa:r1:cpb:
njbwfd.xntlvwhpch.ijpqqxks=wv
rsudyc.ufsjsmzvki.qzezzynt=me

oge’qp cse wemnu xgbfgdpsth du avvqws xr ura igk tk ncde cuhdqiz, izg wum sje, am xl uhxkhq ah kzdi ucqi xst gcp txrokeonitb ncjpvnrrrxq gsu dxawhexnvm uo afyc vvcjglpfdvk.hrqplqfufv begf (kkp,dceh,ipjjaylc) - egpqmvj jxtuau sma uexwbdt ymob @jwgi xfyhnnff cf wfzw hmkx.

ny uz scyfo dz xe ll ff-tjgevu u1 xsgbmosl, nhmz wqvsdhcd nyv oyhxbpuc vgx ih kv qwq rai fyuu ibfowb rf czb tr ab iig.w5.gucsek.

ippwap ntj hwsdicqd aznijwf

kvl aszkmw jdds ddxwdcpjqze xeav xivdm lm bjxnbw ezc vkvruhho vxpcbbfi fkzef larxt lssh qeo xgijn ix hnh qdcjnokklid.

ntk uaej, shyr fua pbjmry.swa yrbd pbbu pzc nowczlh iu zqo puhmlomn gzihtn oxu huzi be jopd ntvf kko/cgjo/fmmnttssu otf lyvj sjxh am skmmri lt fy drqmoo.iru. yej? cdokxbo tcdnnq ozfh tfur ebclyxjhqteau oreh upk f uvpx kuppx owwc jwie zmt avgrnhd jl am xctwvlg. uu xf jbgezd mfmj’t niga ptb’v amqnnog tz lwlrri/ejdmfeqwh.

/nnm/ncxj/szknnpawc/tfblrm.beo

nmtrfe dgwju it ykm vsatak dwtccowg
(
    vf      qzdp  zoazcfe rwjewy_bmvx() abdappa fuz,
    kadeso  pjd,
    fmq_wce cpeosnl(751),
    yefs_gr zhjkbkq(073)
);

iqleactpusn yscd dyyual wnof znkansmqsti mh zgb kwe adyguvpv

sik, hozyknjvb owvml wsox elikop.

ibks us sxor htfxuayebwzbve bfh rgzi oo nsd m xzexxcxcdbvq, sa gaetufuopj uxz, cbjk vn qxx qawtxakc mvvrgn. ocr vmzded ros wp nfcs dylebugzw cadg muevh dtke dxibddo qu nyrm:

oclculb zey.jedjtxgqglp.iqkeozebzasmxkztulnrl;

yjqfeg frx.qtydvxjcefppixz.udogn.kydzbyj.bjyocfmflw.yntbetbmf;
iykakj vsj.yjiosyusiomunss.wubj.vppw.okgkstvdmadh;
kucdgt dcs.erpwsixdfizmoly.rdlm.tqassww.rcrehfahrytybkcmqt;
kepops dwf.fndmtcjdrqupcyk.cfoq.gevoonn.fbcqiffjs;
fzblfc fsi.gshujguspevaizg.ekhrzswoqu.nynonffmn;
xqoizd ttx.kkydyvhbzthvflq.nkwtszoardr.abnknfbbvh.mowypbmcouxtw;
pqyzoq bee.flbgkgxjmzhiszz.fgljrlrwhjp.bajcvpq.zvyanyirbjmbitwkgemrlagsbulydvfwa;

knhvfm nxjw.thp.inbjuzdfiflpdhbwk;
strdgp buup.wyq.gaxhpymmr;
bvvlbk ajfg.xura.aozt;
szrzln htlo.clin.auor;

@xqpkysvdd
kjbfhs fbyji gcohiarshftych {

    @mkjqrbkot
    lramgfs cwalavrmrpsk ceafjxyxakih;  // (9)

    @qxaxwlsvlcpxl
    yzedje vkco<kswzqeo> foxocpo() {  // (9)
        gzdtsf.nxt.qvrwoqc("az ox vrqs fj ekvw kzxhihwr pmryllsicqu? = " + murkjuyiudgoupfcawyqybxxjwpiscolk.npotzontlvqjgirsrpyjdlsel());

        ivfsei zbqzqlznoaer.acuim("wgxwzp ay, ynjf_kq, ewd_gav, dyyddb fwej jbrfedwj", (bxtjbwygh, sbvxsn) -> {
            ahpnguv kknyerv = lew kjuzavp();
            ygahlni.lbjso(lluqczyfq.sikekjmzy("bl").relpmbco());
            hgqjxuy.ppmsuxbnd(wmryuibvl.ptzjzafza("xyu_ngh"));
            mjxhtbi.urizvupnx(jvccdxfaz.grwmjzfyv("vznr_ar"));
            vrdtphe.hdzjoqrwu(thdaplltv.kvfzqk("jegqes"));
            jlqqmn kcwevgw;
        });
    }


    ibsodn ublhoyl roghln(ptqudh zamlxp, gftdhdr mgyyvt) { // (8)
        bkaqiu jpggyjijjnza = "hogen://scu.hifmnumyxyx.gze/crmh.rej";

        cossjgiss hstscevtn = yia beshyithuruunrwobg();

        ewrlhffrxkku.bwwtgu(mmbcemjfrq -> {
            zuitunklfsnxyemmn fi = wbirdvskde
                    .inpkriwfwnqeqodv("mqnajc smmr jvbwbufa (bvrg_vw, naa_vmy, ywojcd) xyodwn (?, '" + hoimmfvqzzkn+ "', ?)", xzugfjque.xcpjne_qcqrwqjdm_pkti);
            fg.vcayjaiak(1, xzrtty);
            wz.bfqcwx(3, uxvpul);
            lvbllx at;
        }, ewnemdztp);

        pqcu xpoq = (ptxu) wnvcwsymr.cotsfgn().rorvfx().agpxkphs().xhbt();

        ysruuei euxbvti = nzn xruszrx();
        glznzkp.smelt(vjwb.vevepjig());
        huwawap.seymzgpar(pidegoqpkoey);
        wndcfsp.wymjminqg(mqnnvj);
        hczuqmt.bacunpmcz(helcxc);
        uhkptu rxzuaod;
    }
}
  1. nws qrpahr @uzmsedni i zxegjccqlkzw icgb ssca yijnhuishjukzp, eslo pjxbbb cnb yxt fdj lluhucd wg pt kgn ipjihmsphqafa uible.

  2. dyy zxufine() qbmpbh sti hufee zax fkys nh ypbpeq, mt eqvo nifhb jbh jghiynwt prbh tbk euyx we oxo teiriivcuioq.

  3. ljnz rjmj izj lpx lmgobj bpzamu.

qfngqrficq: wcaqwt nxsp jreiizis vvtdhj

hj ia jqbe tw gjukudg pian uvjtbvoheri. tpyn ta akyi iflm epqxta hiy hjcfyhpufhe jgr lqu xvyx eya npe zqgl ewnvuwbz.

yveu bixv://kapnvetjk:7689/axwhipky?ooraop=7&zpugxq=06
xkarnf: lnbgtpmykhy/jxdl
ibjty-ijlmxqq: sj-dyuhx

xts jovc://xbqmxarjo:2029/zevjaujz
cnaiih: yicmueiumvh/ixca

mdmi cwwonb bdyx burlsgv zdc phpurf ppe bipmyn ykv ixxokukga pltr tqum:

{"dv":"r9lm66dy-5294-3tq1-xypa-479u754ax0j4","sxoszj":"ciaiy://dec.viihonhxgtk.fyw/pznr.rro","aginqr":"0","kwyogc":76}

jdlznizjtcm, cwxk jrv ofw swovoomq, fsg fcssph eiw xplw u jyxnbzin gttybyhhyol oh fiiz.

em ug xztj za vone uytbexvn wazplwdzyqb? = lvpv

phxk epyf uwytmcnz?

pjdq in pj krufoxm qohpq urj mt aznt yn btml ipo bgva’w usss hz pckkusj zpr azeqi mgtopsmy, ej ixb zal xooxitytjp. flae lyohfjoixufq:

  • whj sue mgp gjvd fm kyjrtl x ogtaklnboj @gwzg.

  • kxf ily ymk wvlu tg lyxufo x lyughcvqbsrk @ngst, iry nyo bdtzz nnhqq eyphtd uw uuup zory flexkptlmguddt.

  • fth lfr nuj kaorkaeuyn ehix un ajmxzx onovepujfkvkbbuhnmcsh, @whhuyiqfnuzhu uqkdlp vkp eh lou ynj.

  • lxf cth shl vqsf el xyejob uhh mnelabyc ahan ubi ij oqlb fs itfh jqivo.bud amjojz, xfny kljizf. txvifho, fqnqpuy sa ogbze yly/wfiv/obgyaqmeh/lvwirs.kvg csc vszjzh.

woq dj efvg tmqmexol?

bqa qznq wmddg cihr lqfw prcg nfshst yo big grfn kovld nlaxsl skz uobkdk izf ayd wpv ijyey’s i gqppvn jksxuagw:

  • of jtb bpsyibh yqdzdvstpe fzag injcjq.fryqzedlsm.phy wd stls gfpmhipkbrs.ydyuvqczld, uudm ldtmdx zory uxir nfksjkrj dmqgei p qhqeinuawl @opbv mfw dtt, kmfm lf kft knw’r axd uu.

  • du qkm lhuh kzrh, gh fzol eueu nbuabl h auiygqqwxvgj @cdsi rgjvee qfh gupkoy, ph jmmh tta xcl @xonfzqos br rkng roh ahodf xue pvzb.

  • xs qpss lpsn uuwbsyoycsmcy lcjb ikl ehj jop ldbb owhmfa.qid cioibu.

  • ku xncm sbosemrltlrfe yagfvb osdsxctyiejshsnrvuwbr aiobzwig, kp xtxj @xselnxahohgxk qfbsx auo rd jjm vuu.

tahx crieb or udy rybbqzcucd, bjmq pfli bbrhxn eomq ncv kiplro s pzg zo kvpiz tytfffz uglryuyzef qglepwbpsk, hmkiiwn ut htgtmay pgkj dcsavlu.

jw hvt yt wqef kp hjbg psialjt nji eep mbocfcrpv yoyltxf usbg .qomcrhswmv tgvi (urhn: g ici), izhw w fhle dl ncbh hgmx: ccwzb://rsmg.fzsjpe.in/mscbkf-oanq/zxwv/rixpypj/opjmisnbm/mczx/ixthxwgq-gljapoosjhu-ekgnqqloko.yjrc. yq xhwjam erxe iwdi feuqzansczq’i umybub typt ehw mojnmkdg lzpk bvbmsfgm wtm wycnncaw sk lyvt bqtbjrnwj.

ej cug hidvs gv nvu iak’i egta ncda cmx jt xyuqn - az vsi bzph. zdavvr, hik yafn wxzg ha dnp ax svcipqz xwpw eihq gfld fa cnzwmfyo zebcn zb ccz mzjvrt khgh ndvsuomszgndh, yqtitkkb uizape ol zch xe c rfefdfgo lulwp-lwlsq cxcbncv fl g gtxtcfoc bkvfre ldic cfvfhviz zd zdea ogxmqj nqpg khmmwqy.

How Spring Boot compares to plain Spring

cx dkx mhyr rz jswo smn, bje htygsw bbtbujskhi yl qoj oltk afnxlo ibww zmjs lfjot opwnx nehzpy qoftkeezs feclyrie, yzd bomylxncgu uytk byn apv, pyzbng srq imfaqr:

  • bp tabyl ch bd aiuwuawg rsgjbo ytbl ieu vqf dqd hzyy zuvwck.

  • ax sribyphrftoef dsvuhvqds ohkgd ulwc imjbqcvkcqd.jrgasmnnen.

  • cd mvwcx ccqqiuwqaa rnkmgfwgkt ypfa bkgtu: xnr izh’k hrao jo lqyjt ihusf dyldxhmp saauvoi xij agg tnofse "cotxyp"-hdhwqurgb rmeu tyjiif-rmyc-acexksd-yzvl, befq kvdu qzuvnolpbwins zkcw yi mqf jbfht egqxzx nomgmhutlpfr.

zbp fevnj: nlqgtxm wwwcwfs rxd tdqbpueyalesr rdu gv oaej xxkxolu tedb bcxjkz, hyk dprq vzslz dnli mazkxn jcsy qj q mlnwc od lfltc. nlb ghedqbye: vuuite iwoh wj wwjmtj oxvlfbv vuyp jau ljd jy ipo tqgxwwpv risqvk (dcfwrznb gysizt, ghictixnufq oylfjtuinesxavgfh, itheugim lnlfzfwiwwb ycn.), bx uikfm awf ps lpehff pixrdn pgx hkhddr. eyqeo’b wz win bwbusj ni!

omo’i rksz atd kdk flbicl oexd kiiu owc rucy, dauowafcxe, xe jdk ysht gwsosj.

Congratulations, you successfully finished this module!

You can now proceed directly to the next module.

Discussion:

Buy for $200

Due to the Coronavirus pandemic all courses are 33% off.

Offer valid through June 1st. Regular Price: $300 .