JavaRush /Blog Java /Random-PL /Wiosna. Lekcja 1. IoC/DI
Umaralikhon
Poziom 3
Красноярск

Wiosna. Lekcja 1. IoC/DI

Opublikowano w grupie Random-PL
I tak... Aby nauczyć się Springa będziesz potrzebować znajomości rdzenia Java, Intellij IDEA Ultimate i odrobiny cierpliwości. Kurs będzie składał się z kilku lekcji. Każda lekcja będzie dotyczyć innego tematu. Gorąco polecam także pisanie notatek. Tak, nikt ci za to nie zaliczy semestru. Po prostu podczas pisania notatek działają wszystkie części mózgu zaprojektowane do zapamiętywania informacji. Wystarczająco wody. Zaczynać. Odwrócenie kontroli (IoC) i wstrzykiwanie zależności (DI) Najpierw zdefiniujmy dwa najważniejsze terminy: odwrócenie kontroli (IoC) i wstrzykiwanie zależności (DI). IoC to zasada OOP stosowana w celu ograniczenia sprzężenia między klasami i obiektami. Programista umieści niezbędny kod w odpowiednich punktach programu i nie martwi się o to, jak i kiedy umieszczony kod powinien działać. Krótko mówiąc, podczas korzystania z IoC kod będzie zarządzany przez framework, a nie przez programistę. DI - powoduje, że obiekty aplikacji są od siebie słabo zależne. Oznacza to, że o inicjalizację obiektów zadba zewnętrzny mechanizm opracowany przez programistę. Korzystając z DI, programista będzie pracował nie na „poziomie klasy”, ale na „poziomie interfejsu”. W ten sposób zależności pomiędzy obiektami zostaną ograniczone do minimum. Poćwiczmy Najpierw utwórzmy prosty projekt maven. W tym celu należy wybrać opcję „Utwórz nowy projekt” i z menu wybrać „Maven”: Kurs wiosenny – IoC/DI – 1 W pozostałych częściach możesz pozostawić wartości domyślne lub zmienić je według własnego uznania (z wyjątkiem wersji): Kurs wiosenny – IoC/DI – 2 Po czym projekt zostanie otwarty z mniej więcej następującą strukturą: Kurs wiosenny – IoC/DI – 3 W głównym folderze przechowywane są pakiety, kody i pliki umożliwiające uruchomienie głównej części programu. Pakiety (w naszym przypadku org.example) będą przechowywać kod Java. Folder zasobów będzie zawierał pliki konfiguracyjne lub pliki zasobów. To właśnie w tym folderze utworzymy plik applicationContext.xml, w którym opiszemy nasze fasole (więcej o tym później). Folder Test będzie zawierał klasy testowe. Nie będziemy dotykać tego tematu. Jednym z najważniejszych plików jest plik pom.xml. Ten plik opisuje zależności Springa dla naszego projektu. To od tego pliku rozpoczniemy naszą pracę. Najpierw otwórzmy ten plik. Plik będzie wyglądał mniej więcej tak:
<?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>
Dodamy niezbędne zależności do tego pliku. Aby to zrobić, przejdź do strony mvnrepository.com , która zawiera wszystkie zależności do zarządzania projektem maven. W części wyszukiwania wpisujemy „kontekst wiosenny”. Z listy wyników wybierz „Kontekst wiosenny” (mianowicie „Kontekst wiosenny” z Apache, a nie coś innego). Następnie wybierz wersję, najlepiej wersję RELEASE. Po czym otworzy się następujące okno: Kurs wiosenny – IoC/DI – 5 Interesuje nas część podświetlona na czerwono. Skopiujmy kod i wklejmy go wewnątrz tagu < zależności > </ zależność >. Te same czynności wykonujemy dla zależności „Spring bean” i „Spring core”. W rezultacie plik pom.xml powinien wyglądać następująco:
<?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>
Krótko o wszystkim. Rdzeń Springa przechowuje wszystkie podstawowe operacje potrzebne do działania frameworka. Kontekst wiosenny — tworzy i przechowuje obiekty klas do pracy DI/IoC. A fasola jara służy do tworzenia fasoli. O pojemnikach opowiem nieco później. Po dodaniu zależności w prawym górnym rogu pojawi się ikona: Kurs wiosenny – IoC/DI – 6 Kliknij na nią i poczekaj, aż Idea pobierze wszystkie te zależności. Po pobraniu, w folderze projektu „Biblioteki zewnętrzne” możemy zobaczyć pobrane pliki .jar zawierające zależności Springa: Kurs wiosenny – IoC/DI – 7 Na tym kończy się pierwsza lekcja naszego kursu. W ten sposób dowiedzieliśmy się krótko:
  • Co to jest IoC/DI
  • Jak tworzyć projekty wiosenne
  • Jak je ustawić
Pełny kod źródłowy można znaleźć pod tym linkiem . Moje konto GitHub Treść kursu Ciąg dalszy...
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION