JavaRush /Блоги Java /Random-TG /Баҳор. Дарси 1. IoC/DI
Umaralikhon
Сатҳи
Красноярск

Баҳор. Дарси 1. IoC/DI

Дар гурӯҳ нашр шудааст
Ва ҳамин тавр... Барои омӯхтани Баҳор ба шумо дониши core Java, Intellij IDEA Ultimate ва каме сабр лозим аст. Курс аз якчанд дарс иборат аст. Ҳар як дарс мавзӯи гуногунро дар бар мегирад. Ман инчунин тавсия медиҳам, ки қайдҳо нависед. Бале, ҳеҷ кас ба шумо барои ин семестр кредит намедиҳад. Ин танҳо он аст, ки ҳангоми навиштани ёддоштҳо, тамоми қисмҳои майна барои дар хотир нигоҳ доштани кори иттилоот пешбинӣ шудаанд. Оби кофӣ. Оғоз. Инversionи назорат (IoC) && Тазриқи вобастагӣ (DI) Аввалан, биёед ду истилоҳи муҳимтаринро ҳамчун Инversionи назорат (IoC) ва тазриқи вобастагӣ (DI) муайян кунем. IoC як принсипи OOP мебошад, ки барои коҳиш додани пайвастшавӣ байни синфҳо ва an objectҳо истифода мешавад. Барномасоз рамзи заруриро дар нуқтаҳои дурусти барнома ҷойгир мекунад ва дар бораи чӣ гуна ва кай кор кардани codeи ҷойгиршуда хавотир намешавад. Ба ибораи оддӣ, ҳангоми истифодаи IoC, code аз ҷониби чаҳорчӯба идора карда мешавад, на аз ҷониби барномасоз. DI - an objectҳои барномаро аз ҳамдигар суст вобаста месозад. Яъне, механизми беруние, ки аз ҷониби барномасоз таҳия шудааст, барои оғоз кардани an objectҳо ғамхорӣ мекунад. Ҳангоми истифодаи DI, барномасоз на дар "сатҳи синф", балки дар "сатҳи интерфейс" кор хоҳад кард. Бо ин роҳ, вобастагӣ байни an objectҳо то ҳадди ақал нигоҳ дошта мешавад. Биёед машқ кунем Аввал, биёед як лоиҳаи оддии maven эҷод кунем. Барои ин, ҷузъи "Сохтани лоиҳаи нав" -ро интихоб кунед ва аз меню "Maven" -ро интихоб кунед: Курси баҳорӣ - IoC/DI - 1 Дар қисмҳои боқимонда шумо метавонед арзишҳои пешфарзро тарк кунед ё онҳоро бо ихтиёри худ тағир диҳед (ба истиснои version): Курси баҳорӣ - IoC/DI - 2 Пас аз он лоиҳа тақрибан бо сохтори зерин кушода мешавад: Курси баҳорӣ - IoC/DI - 3 Папкаи асосӣ бастаҳо ва codeҳо ва файлҳоро барои иҷро кардани қисми асосии барнома нигоҳ медорад. Бастаҳо (дар ҳолати мо org.example) рамзи Java-ро нигоҳ медоранд. Папкаи захираҳо дорои файлҳои конфигуратсия ё файлҳои захиравӣ мебошад. Маҳз дар ин ҷузвдон мо файли applicationContext.xml-ро эҷод мекунем, ки дар он мо лӯбиёи худро тавсиф мекунем (дар ин бора баъдтар бештар). Папкаи санҷиш дорои синфҳои санҷишӣ мебошад. Мо ба ин мавзӯъ дахл намекунем. Яке аз файлҳои муҳимтарин файли pom.xml мебошад. Ин файл вобастагии баҳорро барои лоиҳаи мо тавсиф мекунад. Маҳз бо ҳамин файл мо кори худро оғоз мекунем. Аввалан, биёед ин файлро кушоем. Файл чунин хоҳад буд:
<?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>
Мо ба ин файл вобастагии заруриро илова мекунем. Барои ин, ба вебсайти mvnrepository.com равед , ки дар он тамоми вобастагӣ барои идоракунии лоиҳаи maven мавҷуд аст. Дар қисми ҷустуҷӯ мо "Контексти баҳор" -ро менависем. Дар байни рӯйхати натиҷаҳо, "Контексти баҳор" -ро интихоб кунед (яъне "контексти баҳор" аз apache, на чизи дигар). Сипас versionро интихоб кунед, беҳтараш versionи RELEASE. Пас аз он, равзанаи зерин кушода мешавад: Курси баҳорӣ - IoC/DI - 5 Мо ба қисме, ки бо сурх нишон дода шудааст, таваҷҷӯҳ дорем. Биёед codeро нусхабардорӣ кунем ва онро дар дохor теги <dependencies> </dependencies> гузорем. Мо ҳамон амалҳоро барои вобастагии "Лӯбиёи баҳорӣ" ва "Ядрои баҳор" иҷро мекунем. Дар натиҷа, файли pom.xml бояд чунин бошад:
<?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>
Дар бораи ҳама чиз мухтасар. Ядрои баҳор ҳамаи амалиётҳои асосиро барои кор кардани чаҳорчӯба нигоҳ медорад. Контексти баҳор - an objectҳои синфро барои кори DI/IoC эҷод ва нигоҳ медорад. Ва лӯбиёи баҳорӣ барои сохтани лӯбиё истифода мешавад. Ман каме дертар дар бораи қуттиҳо ба шумо нақл мекунам. Пас аз илова кардани вобастагӣ, дар кунҷи рости боло нишона пайдо мешавад: Курси баҳорӣ - IoC/DI - 6 Онро клик кунед ва интизор шавед, ки Idea ҳамаи ин вобастагиҳоро зеркашӣ кунад. Пас аз зеркашӣ, дар папкаи лоиҳаи "Китобхонаҳои беруна" мо метавонем файлҳои зеркашидашудаи .jar-ро бинем, ки вобастагии баҳорро дар бар мегиранд: Курси баҳорӣ - IoC/DI - 7 Ин дарси аввали курси моро ба анҷом мерасонад. Ҳамин тариқ, мо ба таври мухтасар фаҳмидем:
  • IoC/DI чист
  • Чӣ тавр сохтани лоиҳаҳои баҳорӣ
  • Чӣ тавр онҳоро танзим кардан мумкин аст
Рамзи пурраи сарчашмаро метавонед дар ин пайванд пайдо кунед . Ҳисоби ман GitHub Мундариҷаи курс Давом дорад...
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION