Spring on Java-kehys, joka käyttää säilöä sovelluksen eri komponenttien luomiseen ja hallintaan. Säiliö (kutsutaan usein kevätsovelluskontekstiksi) yhdistää sovelluksen eri komponentit käyttämällä riippuvuusinjektion (DI) suunnittelumallia. DI mahdollistaa objektin käyttämisen riippuvaisessa luokassa luomatta siitä uutta ilmentymää riippuvaisen luokan sisällä.
Sen sijaan, että jokainen komponentti voisi luoda uusia ilmentymiä niistä, joihin ne luottavat, Springin säilö luo ja ylläpitää ilmentymää jokaisesta isännöimästään komponentista. Tämä säiliö ruiskuttaa sitten komponentin esiintymän kaikkiin muihin sitä tarvitseviin komponentteihin.
Tutustu kevään ydinominaisuuksiin
Spring Frameworkissa on noin 20 hyvin järjestettyä moduulia, joilla on olennainen rooli sen kyvyssä luoda ja hallita sovelluksia. Näiden moduulien pääominaisuuksien perusteella voit ryhmitellä ne viiteen luokkaan:
- Ydinsäiliö
- Tietojen käyttö/integrointi
- Web
- Aspektisuuntautunut ohjelmointi ja instrumentointi
- Testata
Kevään kontti
Spring käyttää säilöä sovelluksen eri komponenttien (joita se kutsuu papuiksi) luomiseen ja hallitsemiseen. Säiliöön pääsee käsiksi Springin ApplicationContext-käyttöliittymän kautta, jonka avulla voit luoda, määrittää ja koota objekteja (tai papuja). Springin kontti voi suorittaa tehtävänsä konfigurointimetatietojen avulla.
Tällä asetusmetatiedolla voi olla useita eri muotoja, mutta sen tyypillinen muoto on XML. Springin säiliö koostuu papujen lisäksi myös ytimestä, kontekstista ja ilmaisumoduulista.
Kevään tietojen käyttö/integrointi
Kevätkehyksen tiedonsaanti/integraatio-osa koostuu useista alimoduuleista: JDBC, ORM, OXM, JMS ja tapahtuma. Nämä moduulit toimivat yhdessä sovelluksesi käyttämien tietojen hallinnassa.
Kevään verkko
Spring-sovelluksen verkkoominaisuus tarjoaa verkkopohjaisen integroinnin sovelluksellesi. Web-suuntautuneen integraation lisäksi Spring tarjoaa web-servlet-moduulin. Web-servlet-moduuli vastaa Spring'sistä Model-view-controller (MVC) -toteutus.
Spring Aspect-Oriented Programming (AOP)
Springin AOP-kehys on toinen sen avainkomponenteista. Vaikka AOP-kehys ei ole ratkaiseva Springin konttitoiminnon kannalta, se täydentää konttia toimimalla kyvykkäänä väliohjelmistoratkaisuna. Yksi AOP-kehyksen tärkeimmistä ominaisuuksista on, että se tarjoaa deklaratiivisia yrityspalveluita sovelluksellesi, nimittäin ilmoitustapahtumien hallintaa.
Deklaratiivisen tapahtuman hallinta on toivottava lähestymistapa ohjelmistokehitykseen, koska sillä on minimaalinen vaikutus sovelluskoodiin.
Kevät testi
Keväällä sovellustestauksella on suuri merkitys. Sen testimoduuli tukee integraatiotestausta ja yksikkötestausta JUnitin tai TestNG: n avulla.
Kevätsovelluksen luominen
On olemassa useita tapoja luoda kattila uudelle kevätsovellukselle. Erilaisia lähestymistapoja ovat:
- Verkkosovelluksesta (tai Spring Initializrista) Springin viralliselta verkkosivustolta.
- Projektin hakemistorakenteen ja koontimäärittelyjen luominen manuaalisesti.
- Spring Tool Suiten kanssa.
- Komentoriviltä Spring Bootin komentoriviliittymällä.
- Eclipse IDE: n kanssa.
- IntelliJ IDEA IDE: n kanssa.
Suosituin lähestymistapa on Spring Initializr:
Kuten yllä olevasta kuvasta näet, sinun on tehtävä useita päätöksiä. Ensimmäinen on alustettavan projektin tyyppi. Spring tarjoaa kolme vaihtoehtoa: Gradle for Groovy, Gradle for Kotlin tai Maven. Tämä esimerkkisovellus käyttää Maven-projektia.
Muut valittavat vaihtoehdot ovat kieli (Java), Spring Bootin versio, jota haluat käyttää, ja projektin metatiedot. Keväällä on jo viidellä kentällä fiktiivisiä tietoja, jotka auttavat sinua mallisovelluksen luomisessa. Sinun on kuitenkin päivitettävä nämä kentät projektikohtaisilla tiedoilla, koska nämä metatiedot kuvaavat Spring-sovellustasi, mukaan lukien kevätpavut ja niiden menetelmät.
Seuraavaksi sinun on valittava pakkaus, johon haluat tiedostosi (purkki tai sota). Sitten voit valita laitteessasi olevan Java-version. Lopullinen päätös, joka sinun on tehtävä, on sovelluksellesi haluamasi riippuvuustyyppi.
Spring tarjoaa useita riippuvuuksia, joiden avulla voit lisätä ominaisuuksia sovellukseesi. Voit lisätä uuden riippuvuuden sovellukseesi napsauttamalla Lisää riippuvuudet -painiketta Spring Initializrin oikealla puolella. Tämä toiminto luo näytöllesi seuraavan peittokuvan:
Tätä esimerkkisovellusta varten tarvitset vain Spring Webin riippuvuuden. Tämän riippuvuuden avulla voit rakentaa verkkosovelluksia käyttämällä MVC-arkkitehtuuria. Kun olet valinnut kaikki riippuvuudet, joita haluat käyttää sovelluksessasi, siirry napsautusten luomiseen. Tämä lataa projektin yleiskuvan puolestasi.
Nyt sinulla on Spring Boot (joka on yksi Springin kirjastoista) -projekti. Viimeinen vaihe on tuoda projekti haluamaasi IDE: hen. Kevätprojektillasi on seuraava projektirakenne:
Tämä on normaali Maven-projektirakenne, ja on useita tärkeitä tiedostoja, joihin sinun on tutustuttava.
- Pom.xml: Tämä sisältää Spring-sovelluksen kokoonpanotiedot.
- OnlineShopaholicsApplication.java: Tämä on Spring Bootin pääluokka, joka suorittaa sovelluksen.
- OnlineShopaholicsApplicationTest.java: Tämä on a JUnit testi luokka, joka varmistaa, että Spring-sovelluskonteksti (tai säilö) latautuu oikein.
Kevätsovelluksen suorittaminen
Springin bootstrap-luokassa, joka tässä tapauksessa on OnlineShopaholicsApplication-luokka, on seuraava aloituskoodi:
paketti com.onlineshopaholics;
tuontiorg.springframework.saapas.SpringApplication;
tuontiorg.springframework.saapas.autoconfigure.SpringBootApplication;
@SpringBootApplication
julkinenluokkaaOnlineShopaholics-sovellus{
julkinenstaattinenmitätönpää(merkkijono[] args){
SpringApplication.run (OnlineShopaholicsApplication.luokkaa, args);
}
}
Yksi yllä olevan koodin tärkeimmistä kohdista on @SpringBootApplication huomautus, joka on yhdistelmämerkintä, jonka avulla sovelluksesi voi käyttää kolmen muun merkinnän ominaisuuksia:
- @EnableAutoconfiguration: Tämä huomautus mahdollistaa Spring Bootin automaattisen määrityksen. Tämä tarkoittaa, että se käskee Spring bootin määrittämään minkä tahansa komponentin, jonka se uskoo sovelluksesi tarvitsevan toimimaan.
- @ComponentScan: Tämän huomautuksen avulla voit ottaa komponenttien skannauksen käyttöön. Tämä ominaisuus on tärkeä, sillä sen avulla Spring voi automaattisesti löytää ja rekisteröidä muita huomautuksilla varustettuja komponentteja Spring-sovelluskontekstin (tai säilön) käyttöön.
- @SpringBootConfiguration: Tämä on @Configureation-merkinnän erikoismuoto, jonka avulla voit rekisteröidä papuja (tai objekteja) Spring-sovelluskontekstiin.
Toinen yllä olevan koodin tärkeä näkökohta on pää() menetelmää, se suorittaa sovelluksesi. Kun sovellus suoritetaan nyt, se yksinkertaisesti käynnistää palvelimen. Joten jos haluat lisätä sovellukseen lisää toimintoja, sinun on päivitettävä koodi:
paketti com.onlineshopaholics;
tuontiorg.springframework.saapas.SpringApplication;
tuontiorg.springframework.saapas.autoconfigure.SpringBootApplication;
tuontiorg.springframework.web.sitoa.huomautus.GetMapping;
tuontiorg.springframework.web.sitoa.huomautus.RequestParam;
tuontiorg.springframework.web.sitoa.huomautus.RestController;@SpringBootApplication
@RestController
julkinenluokkaaOnlineShopaholics-sovellus{
julkinenstaattinenmitätönpää(merkkijono[] args){
SpringApplication.run (OnlineShopaholicsApplication.luokkaa, args);
}
@GetMapping("/asiakas")
julkinen merkkijono Tervetuloa(@RequestParam (arvo = "nimi", oletusarvo = "Asiakas") merkkijono nimi) {
palatamerkkijono.muoto("Tervetuloa %s!", nimi);
}
}
Spring Boot -sovelluksessa on nyt kolme uutta merkintää:
- @RestController: Tämä huomautus merkitsee luokan ohjaimeksi, joten kaikki yllä olevan luokan menetelmät (paitsi main()) palauttavat toimialueobjektin näkymän sijaan.
- @GetMapping: Tämä merkintä yhdistää HTTP GET -pyynnöt tiettyihin otsikkomenetelmiin. Joten joka kerta, kun luot pyynnön "/asiakas" selaimessa, Tervetuloa()-menetelmä käsittelee pyynnön palauttamalla merkkijonoarvon.
- @RequestParam: Tämä huomautus osoittaa, että menetelmäparametri on sidottava verkkopyyntöparametriin.
Päivitetyllä koodilla kevääsi OnlineShopaholics-sovellus on nyt asiakassivu, jota voit tarkastella selaimessasi. Sovelluksen suorittaminen käynnistää palvelimen ja tuottaa tulosteen konsoliin.
Tuotoksessa on paljon tärkeää tietoa. Se kertoo, että palvelin on käynnissä, se kertoo kuinka kauan alustusprosessi kesti ja se kertoo, missä portissa sovellus on käynnissä (8080, oletusarvoisesti). Jos siis navigoit kohteeseen http://localhost: 8080 / asiakas näet seuraavan tulosteen selaimessasi:
Nyt voit suunnitella sovellusnäkymäsi
Toinen tärkeä tiedosto projektirakenteessa, jonka saatat huomata, on malleja kansio. Ihannetapauksessa, OnlineShopaholics-sovellus luokan tulee toimia ohjaimena, joka käsittelee eri näkymiä koskevia pyyntöjä. Siksi täydellisessä sovelluksessa ohjainluokka ei saa sisältää tekstiä, joka näkyy sen pyynnön näkymässä.
Sen sijaan sinun on luotava mallitiedostot HTML-koodilla ja asetettava ne Spring-sovelluksesi mallikansioon.