Spring je ogrodje Java, ki uporablja vsebnik za ustvarjanje in upravljanje različnih komponent aplikacije. Vsebnik (pogosto imenovan kontekst aplikacije Spring) povezuje različne komponente v aplikaciji z uporabo vzorca načrtovanja vbrizgavanja odvisnosti (DI). DI vam omogoča uporabo predmeta v odvisnem razredu, ne da bi ustvarili nov primerek znotraj odvisnega razreda.
Torej, namesto da bi vsaki komponenti omogočil ustvarjanje novih primerkov tistih, na katere se zanaša, Springov vsebnik ustvari in vzdržuje primerek vsake komponente, ki jo gosti. Ta vsebnik nato vbrizga primerek komponente v vse druge komponente, ki jo potrebujejo.
Raziskovanje osnovnih funkcij pomladi
Ogrodje Spring ima približno 20 dobro organiziranih modulov, ki igrajo pomembno vlogo pri njegovi zmožnosti ustvarjanja in upravljanja aplikacij. Glede na glavne značilnosti teh modulov jih lahko razvrstite v pet kategorij:
- Jedrna posoda
- Dostop do podatkov/integracija
- Splet
- Aspektno usmerjeno programiranje in instrumentacija
- Test
Vzmetna posoda
Spring uporablja vsebnik za ustvarjanje in upravljanje različnih komponent (ki jih imenuje beans) aplikacije. Vsebnik je dostopen prek Springovega vmesnika ApplicationContext, ki vam omogoča instanciranje, konfiguriranje in sestavljanje predmetov (ali fižolov). Springov vsebnik lahko opravlja svojo funkcijo s pomočjo konfiguracijskih metapodatkov.
Ti konfiguracijski metapodatki imajo lahko več različnih oblik, vendar je njihova tipična oblika XML. Poleg fižola je Springov vsebnik sestavljen tudi iz jedra, konteksta in izraznega modula.
Spring Data Access/Integration
Vidik dostopa do podatkov/integracije pomladnega ogrodja je sestavljen iz več podmodulov: JDBC, ORM, OXM, JMS in transakcije. Ti moduli skupaj upravljajo vse podatke, ki jih uporablja vaša aplikacija.
Pomladni splet
Spletna funkcija aplikacije Spring zagotavlja spletno usmerjeno integracijo vaše aplikacije. Poleg spletne usmerjene integracije Spring ponuja modul spletnega servleta. Modul spletnega servleta je odgovoren za Spring izvedba model-view-controller (MVC)..
Pomladno aspektno usmerjeno programiranje (AOP)
Springov AOP okvir je še ena njegovih ključnih komponent. Čeprav ogrodje AOP ni ključnega pomena za funkcijo vsebnika Spring, dopolnjuje vsebnik, saj je zmogljiva rešitev vmesne programske opreme. Ena od ključnih lastnosti ogrodja AOP je, da zagotavlja deklarativne poslovne storitve za vašo aplikacijo, in sicer upravljanje transakcij deklaracij.
Deklarativno upravljanje transakcij je zaželen pristop k razvoju programske opreme, ker ima minimalen vpliv na aplikacijsko kodo.
Pomladni test
Pomlad pripisuje velik pomen testiranju aplikacij. Njegov testni modul podpira integracijsko testiranje in testiranje enot z uporabo JUnit ali TestNG.
Ustvarjanje spomladanske aplikacije
Obstaja več načinov za ustvarjanje predloge za novo aplikacijo Spring. Različni pristopi vključujejo:
- Iz spletne aplikacije (ali Spring Initializr) na uradni spletni strani Spring.
- Ročno ustvarjanje strukture imenika projekta in specifikacij gradnje.
- Z orodjem Spring Tool Suite.
- Iz ukazne vrstice z vmesnikom ukazne vrstice Spring Boot.
- Z Eclipse IDE.
- Z IntelliJ IDEA IDE.
Najbolj priljubljen pristop je Spring Initializr:
Kot lahko vidite na zgornji sliki, boste morali sprejeti več odločitev. Prvi je tip projekta, ki ga želite inicializirati. Spring ponuja tri možnosti: Gradle za Groovy, Gradle za Kotlin ali Maven. Ta vzorčna aplikacija bo uporabljala projekt Maven.
Druge možnosti, ki jih morate izbrati, so jezik (Java), različica Spring Boot, ki jo želite uporabiti, in metapodatki projekta. Spring že ima nekaj navideznih podatkov v svojih petih poljih, ki vam bodo pomagali ustvariti vzorčno aplikacijo. Vendar pa boste morali ta polja posodobiti s podatki, specifičnimi za projekt, saj bodo ti metapodatki opisali vašo aplikacijo Spring, vključno s fižoli Spring in njihovimi metodami.
Nato boste morali izbrati embalažo, v kateri želite imeti datoteke (jar ali war). Nato lahko izberete različico Jave, ki jo imate v napravi. Končna odločitev, ki jo boste morali sprejeti, je vrsta odvisnosti, ki jo želite za svojo aplikacijo.
Spring ponuja več odvisnosti, ki jih lahko uporabite za dodajanje lastnosti svoji aplikaciji. Če želite svoji aplikaciji dodati novo odvisnost, preprosto kliknite gumb za dodajanje odvisnosti na desni strani Spring Initializr. To dejanje bo ustvarilo naslednjo prosojnico na vašem zaslonu:
Za to vzorčno aplikacijo je edina odvisnost, ki jo boste potrebovali, Spring Web. Ta odvisnost vam omogoča gradnjo spletnih aplikacij z uporabo arhitekture MVC. Ko izberete vse odvisnosti, ki jih želite uporabiti v svoji aplikaciji, nadaljujte z ustvarjanjem klika. To bo namesto vas preneslo predlogo projekta.
Zdaj imate projekt Spring Boot (ki je ena od Springovih knjižnic). Zadnji korak je uvoz projekta v vaš želeni IDE. Vaš pomladni projekt bo imel naslednjo strukturo projekta:
To je običajna struktura projekta Maven in obstaja več pomembnih datotek, s katerimi se morate seznaniti.
- Pom.xml: vsebuje podatke o konfiguraciji aplikacije Spring.
- OnlineShopaholicsApplication.java: To je glavni razred Spring Boot, ki izvaja aplikacijo.
- OnlineShopaholicsApplicationTest.java: To je a JUnit test razreda, ki zagotavlja, da se kontekst (ali vsebnik) aplikacije Spring pravilno naloži.
Izvajanje spomladanske aplikacije
Springov zagonski razred, ki je v tem primeru razred OnlineShopaholicsApplication, ima naslednjo začetno kodo:
paket com.onlineshopaholics;
uvozorg.springframework.boot.SpringApplication;
uvozorg.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
javnostirazredSpletna aplikacija za nakupovalce{
javnostistatičnaprazninaglavni(Argumenti niza[]){
SpringApplication.run (OnlineShopaholicsApplication.razred, args);
}
}
Eden najpomembnejših vidikov zgornje kode je @SpringBootApplication opomba, ki je sestavljena opomba, ki vaši aplikaciji omogoča dostop do funkcij treh drugih opomb:
- @EnableAutoconfiguration: Ta opomba omogoča samodejno konfiguracijo Spring Boot. To pomeni, da Spring boot sporoči, naj konfigurira katero koli komponento, za katero meni, da bo vaša aplikacija potrebovala delovanje.
- @ComponentScan: Ta opomba vam omogoča, da omogočite pregledovanje komponent. Ta funkcija je pomembna, omogoča Springu, da samodejno odkrije in registrira druge označene komponente za uporabo v kontekstu (ali vsebniku) aplikacije Spring.
- @SpringBootConfiguration: To je specializirana oblika opombe @Configureation, ki vam omogoča registracijo gradnikov (ali objektov) v kontekstu aplikacije Spring.
Drugi pomemben vidik zgornje kode je glavni () metodo, izvede vašo aplikacijo. Ko se aplikacija zdaj izvaja, preprosto zažene strežnik. Torej, če želite aplikaciji dodati več funkcionalnosti, boste morali posodobiti kodo:
paket com.onlineshopaholics;
uvozorg.springframework.boot.SpringApplication;
uvozorg.springframework.boot.autoconfigure.SpringBootApplication;
uvozorg.springframework.splet.vezati.opomba.GetMapping;
uvozorg.springframework.splet.vezati.opomba.RequestParam;
uvozorg.springframework.splet.vezati.opomba.RestController;@SpringBootApplication
@RestController
javnostirazredSpletna aplikacija za nakupovalce{
javnostistatičnaprazninaglavni(Argumenti niza[]){
SpringApplication.run (OnlineShopaholicsApplication.razred, args);
}
@GetMapping("/stranka")
javnosti Vrvica Dobrodošli(@RequestParam (vrednost = "ime", privzeta vrednost = "Stranka") Vrvica ime) {
vrnitevVrvica.format("Dobrodošli %s!", ime);
}
}
Aplikacija Spring Boot ima zdaj tri nove opombe:
- @RestController: Ta opomba označuje razred kot krmilnik, zato bo vsaka metoda v zgornjem razredu (razen main()) vrnila predmet domene namesto pogleda.
- @GetMapping: Ta opomba preslika zahteve HTTP GET v posebne metode glave. Tako bo vsakič, ko v brskalniku ustvarite zahtevo za »/customer«, metoda Welcome() obravnavala zahtevo tako, da bo vrnila vrednost niza.
- @RequestParam: ta opomba označuje, da mora biti parameter metode vezan na parameter spletne zahteve.
S posodobljeno kodo vaš Spring Spletna aplikacija za nakupovalce zdaj ima stran za stranke, ki si jo lahko ogledate v brskalniku. Izvajanje aplikacije bo zagnalo strežnik in ustvarilo izhod v konzoli.
V izhodu je veliko pomembnih informacij. Pove vam, da strežnik deluje, pove vam, kako dolgo je trajal postopek inicializacije, in pove, na katerih vratih se izvaja aplikacija (privzeto 8080). Če torej navigirate do http://localhost: 8080/stranko v brskalniku boste videli naslednje:
Zdaj lahko oblikujete svoj pogled aplikacije
Druga pomembna datoteka v strukturi projekta, ki jo lahko opazite, je predloge mapo. V idealnem primeru, Spletna aplikacija za nakupovalce razred bi moral služiti kot krmilnik, ki obravnava zahteve za različne poglede. Zato v popolni aplikaciji razred krmilnika ne sme vsebovati besedila, ki bo prikazano v pogledu njegove zahteve.
Namesto tega boste morali ustvariti datoteke predlog z uporabo HTML in jih postaviti v mapo predlog vaše aplikacije Spring.