JavaRush /Java Blog /Random-TK /Bahar. Sapak 1. IoC / DI
Umaralikhon
Dereje
Красноярск

Bahar. Sapak 1. IoC / DI

Toparda çap edildi
Şeýlelik bilen ... Bahary öwrenmek üçin Java ýadrosy, Intellij IDEA Ultimate we birneme sabyr gerek. Bu okuw birnäçe sapakdan ybarat bolar. Her sapak başga bir mowzugy öz içine alar. Şeýle hem bellikler ýazmagy maslahat bererin. Hawa, munuň üçin semestr üçin hiç kim size kredit bermez. Diňe bellikler ýazylanda beýniniň ähli bölekleri maglumat işini ýada salmak üçin döredildi. Ougheterlik suw. Başla. Dolandyryşyň inwersiýasy (IoC) && baglylyk sanjymy (DI) Ilki bilen, dolandyryşyň inwersiýasy (IoC) we baglylyk sanjymy (DI) ýaly iň möhüm iki termini kesgitläliň. IoC, synplar we obýektleriň arasyndaky baglanyşygy azaltmak üçin ulanylýan OOP ýörelgesidir. Programmist zerur kody programmanyň dogry nokatlaryna ýerleşdirer we ýerleşdirilen kody nädip we haçan işlemelidigi barada alada etmeýär. Simpleönekeý söz bilen aýdylanda, IoC ulanylanda kod programmist tarapyndan däl-de, çarçuwada dolandyrylar. DI - amaly obýektleri biri-birine gowşak bagly edýär. .Agny, programmist tarapyndan işlenip düzülen daşarky mehanizm obýektleriň başlangyjy barada alada eder. DI ulanylanda programmist “synp derejesinde” däl-de, “interfeýs derejesinde” işlär. Şeýlelik bilen, obýektleriň arasyndaky garaşlylyk iň az derejede saklanar. Ilki bilen tejribe edeliň , geliň ýönekeý bir taslama döredeliň. Munuň üçin “Täze taslama dörediň” elementini saýlaň we menýudan “Maven” saýlaň: Bahar okuwy - IoC / DI - 1 Galan böleklerde deslapky bahalary goýup bilersiňiz ýa-da öz islegiňiz boýunça üýtgedip bilersiňiz (wersiýadan başga): Bahar okuwy - IoC / DI - 2 Ondan soň a taslama takmynan aşakdaky gurluş bilen açylar: Bahar okuwy - IoC / DI - 3 Esasy bukjada programmanyň esasy bölegini işletmek üçin bukjalar we kodlar we faýllar saklanýar. Bukjalar (biziň ýagdaýymyzda org.example) Java koduny saklar. Resurslar bukjasynda konfigurasiýa faýllary ýa-da çeşme faýllary bolar. Hut şu bukjada noýbalarymyzy suratlandyrarys (bu barada has soňrak) programmaContext.xml faýly dörederis. Synag bukjasynda synag sapaklary bolar. Bu mowzuga degip geçmeris. Iň möhüm faýllaryň biri pom.xml faýlydyr. Bu faýl, taslamamyz üçin Bahar garaşlylygyny suratlandyrar. Hut şu faýl bilen işimize başlarys. Ilki bilen bu faýly açalyň. Faýl şuňa meňzeş bir zat görüner:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>IoC</artifactId>
    <version>1.0-SNAPSHOT</version>

  <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

</project>
Bu faýla zerur baglylyklary goşarys. Munuň üçin mvnrepository.com web sahypasyna giriň . Gözleg bölüminde "Baharyň mazmuny" diýip ýazýarys. Netijeleriň sanawyndan “Baharyň kontekstini” (başga bir zat däl-de, “Bahar konteksti”) saýlaň. Soňra wersiýasyny, has gowusy RELEASE wersiýasyny saýlaň. Ondan soň aşakdaky penjire açylar: Bahar okuwy - IoC / DI - 5 Gyzyl reňkde görkezilen bölek bilen gyzyklanýarys. Kody göçüreliň we <baglylyklar> </dependencies> belliginiň içine goýalyň. “Bahar noýbasy” we “Bahar ýadrosy” garaşlylygy üçin şol bir hereketleri edýäris. Netijede, pom.xml faýly şeýle bolmaly:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>IoC</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.15.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.15.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.15.RELEASE</version>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

</project>
Hemme zat hakda gysgaça. Bahar ýadrosy çarçuwanyň işlemegi üçin ähli esasy amallary saklaýar. Bahar konteksti - DI / IoC işi üçin synp obýektlerini döredýär we saklaýar. Bahar noýbasy noýba döretmek üçin ulanylýar. Gaplar hakda azajyk soň aýdaryn. Baglanyşyklary goşanyňyzdan soň, ýokarky sag burçda bir nyşan peýda bolar: Bahar okuwy - IoC / DI - 6 Oňa basyň we Idea bu baglylyklary göçürip alýança garaşyň. Göçürip alanymyzdan soň, "Daşarky kitaphanalar" taslama bukjasynda, Baharyň garaşlylygyny öz içine alýan .jar faýllaryny görüp bileris: Bahar okuwy - IoC / DI - 7 Bu biziň kursumyzyň birinji sapagyny tamamlaýar. Şeýlelik bilen gysgaça öwrendik:
  • IoC / DI näme
  • Bahar taslamalaryny nädip döretmeli
  • Olary nädip gurmaly
Çeşmäniň doly koduny şu baglanyşykdan tapyp bilersiňiz . GitHub hasabym Kursyň mazmuny Dowam etmek üçin ...
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION