JavaRush /Java Blogu /Random-AZ /Bahar. Dərs 1. IoC/DI
Umaralikhon
Səviyyə
Красноярск

Bahar. Dərs 1. IoC/DI

Qrupda dərc edilmişdir
Və beləliklə... Baharı öyrənmək üçün sizə Java core, Intellij IDEA Ultimate bilikləri və bir az səbr lazımdır. Kurs bir neçə dərsdən ibarət olacaq. Hər dərs fərqli mövzunu əhatə edəcək. Mən də qeydlər yazmağı çox tövsiyə edərdim. Bəli, bunun üçün heç kim sizə semestr üçün kredit verməyəcək. Sadəcə qeydlər yazarkən beynin bütün hissələri məlumatı yadda saxlamaq üçün işləyir. Kifayət qədər su. Başlayın. Nəzarətin İnversiyası (IoC) && Asılılıq Enjeksiyonu (DI) Əvvəlcə iki ən vacib termini Nəzarətin İnversiyası (IoC) və Asılılıq Injection (DI) kimi müəyyən edək. IoC siniflər və obyektlər arasında əlaqəni azaltmaq üçün istifadə olunan bir OOP prinsipidir. Proqramçı lazımi kodu proqramın lazımi nöqtələrinə yerləşdirəcək və yerləşdirilən kodun necə və nə vaxt işləməsi barədə narahat olmayacaq. Sadə dillə desək, IoC istifadə edərkən kod proqramçı tərəfindən deyil, çərçivə tərəfindən idarə olunacaq. DI - tətbiq obyektlərini bir-birindən zəif asılı edir. Yəni, proqramçı tərəfindən hazırlanmış xarici mexanizm obyektlərin işə salınması ilə məşğul olacaq. DI-dən istifadə edərkən proqramçı “sinif səviyyəsində” deyil, “interfeys səviyyəsində” işləyəcək. Beləliklə, obyektlər arasında asılılıq minimuma endiriləcəkdir. Gəlin məşq edək Əvvəlcə sadə maven layihəsi yaradaq. Bunu etmək üçün "Yeni Layihə Yarat" maddəsini seçin və menyudan "Maven" seçin: Bahar Kursu - IoC/DI - 1 Qalan hissələrdə siz standart dəyərləri tərk edə və ya öz istəyinizlə dəyişə bilərsiniz (versiya istisna olmaqla): Bahar Kursu - IoC/DI - 2 Bundan sonra layihə təxminən aşağıdakı strukturla açılacaq: Bahar Kursu - IoC/DI - 3 Əsas qovluqda proqramın əsas hissəsinin işləməsi üçün paketlər və kodlar və fayllar saxlanılır. Paketlər (bizim halda org.example) Java kodunu saxlayacaq. Resurslar qovluğunda konfiqurasiya faylları və ya resurs faylları olacaq. Məhz bu qovluqda biz applicationContext.xml faylını yaradacağıq, orada paxlalarımızı təsvir edəcəyik (bu barədə daha sonra). Test qovluğunda test sinifləri olacaq. Bu mövzuya toxunmayacağıq. Ən vacib fayllardan biri pom.xml faylıdır. Bu fayl layihəmiz üçün Bahar asılılıqlarını təsvir edəcək. Məhz bu faylla işimizə başlayacağıq. Əvvəlcə bu faylı açaq. Fayl bu kimi görünəcək:
<?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 fayla lazımi asılılıqları əlavə edəcəyik. Bunu etmək üçün, maven layihəsini idarə etmək üçün bütün asılılıqları ehtiva edən mvnrepository.com saytına daxil olun . Axtarış hissəsində "Bahar konteksti" yazırıq. Nəticələr siyahısından "Bahar kontekstini" seçin (yəni başqa bir şey deyil, apache-dən "Bahar konteksti"). Sonra versiyanı, tercihen RELEASE versiyasını seçin. Bundan sonra aşağıdakı pəncərə açılacaq: Bahar Kursu - IoC/DI - 5 Bizi qırmızı ilə vurğulanan hissə maraqlandırır. Gəlin kodu kopyalayıb <dependencies> </dependencies> teqinin içərisinə yapışdıraq. Eyni hərəkətləri "Bahar paxlası" və "Bahar nüvəsi" asılılıqları üçün həyata keçiririk. Nəticədə, pom.xml faylı belə görünməlidir:
<?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>
Hər şey haqqında qısaca. Bahar nüvəsi çərçivənin işləməsi üçün bütün əsas əməliyyatları saxlayır. Bahar konteksti - DI/IoC işi üçün sinif obyektlərini yaradır və saxlayır. Yaz lobyaları isə paxla yaratmaq üçün istifadə olunur. Bir az sonra zibil qutuları haqqında sizə məlumat verəcəyəm. Asılılıqları əlavə etdikdən sonra yuxarı sağ küncdə bir işarə görünəcək: Bahar Kursu - IoC/DI - 6 Bunun üzərinə klikləyin və Idea bütün bu asılılıqları endirənə qədər gözləyin. Yüklədikdən sonra “Xarici Kitabxanalar” adlı layihə qovluğunda Spring asılılıqlarını ehtiva edən yüklənmiş .jar fayllarını görə bilərik: Bahar Kursu - IoC/DI - 7 Bununla kursumuzun ilk dərsi yekunlaşır. Beləliklə, qısaca öyrəndik:
  • IoC/DI nədir
  • Bahar layihələrini necə yaratmaq olar
  • Onları necə qurmaq olar
Tam mənbə kodu bu linkdə tapa bilərsiniz . Mənim GitHub hesabım Kursun məzmunu Davam ediləcək...
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION