Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
develop:java:mvc [2023/04/02 11:49] admin |
develop:java:mvc [2024/04/14 05:28] (текущий) admin [Пример приложения] |
||
---|---|---|---|
Строка 45: | Строка 45: | ||
====== MVC Spring-boot ====== | ====== MVC Spring-boot ====== | ||
- | |||
===== Пример приложения ===== | ===== Пример приложения ===== | ||
- | ==== Создание проекта ==== | ||
В interprise версии Idea можно создать spring boot проект из меню, в community этого нет, можно сгенерировать проект на офф. сайте [[https:// | В interprise версии Idea можно создать spring boot проект из меню, в community этого нет, можно сгенерировать проект на офф. сайте [[https:// | ||
Результат впринципе тот же, там в меню галочками выбираем пакеты которые нужно добавить, | Результат впринципе тот же, там в меню галочками выбираем пакеты которые нужно добавить, | ||
Строка 56: | Строка 54: | ||
<code java> | <code java> | ||
package com.spring0.spring0; | package com.spring0.spring0; | ||
- | |||
import org.springframework.boot.SpringApplication; | import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
Строка 70: | Строка 67: | ||
</ | </ | ||
- | pow.xml | + | pom.xml |
<code xml> | <code xml> | ||
<?xml version=" | <?xml version=" | ||
Строка 152: | Строка 149: | ||
</ | </ | ||
- | greeting | + | greeting.html |
<code html> | <code html> | ||
< | < | ||
Строка 167: | Строка 164: | ||
</ | </ | ||
+ | |||
+ | < | ||
< | < | ||
HelloWorldController.java | HelloWorldController.java | ||
Строка 191: | Строка 190: | ||
В данном классе есть метод, с мапингом на адрес " | В данном классе есть метод, с мапингом на адрес " | ||
- | Метод должен возвращать строку с именем страницы, | + | Метод должен возвращать строку с именем страницы, |
Так же, через объект " | Так же, через объект " | ||
+ | |||
В эту переменную, | В эту переменную, | ||
[[https:// | [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | ===== Maven ===== | ||
+ | Самостоятельный инструмент для управления и сборки проектов, | ||
+ | |||
+ | Стандартная структура проекта maven:\\ | ||
+ | * src/ | ||
+ | * src/ | ||
+ | * src/ | ||
+ | Так же обязателен файл **pow.xml**, | ||
+ | |||
+ | |||
+ | ==== Управление зависимостями ==== | ||
+ | Зависимости перечисляются в теге **" | ||
+ | Всегда задаются как минимум три параметра: | ||
+ | Узнать эти параметры можно на офф сайте пакета либо на сайте [[https:// | ||
+ | Пример блока " | ||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Аннотации ===== | ||
+ | |||
+ | **Controller** – специальный тип класса, | ||
+ | |||
+ | **Repository** – указывает, | ||
+ | необходимых работ по поиску, | ||
+ | |||
+ | **Service** – указывает, | ||
+ | |||
+ | **Configuration** – эта аннотация используется для классов, | ||
+ | |||
+ | **Autowired** – аннотация позволяет автоматически установить значение поля. Функциональность этой аннотации заключается в том, что нам не нужно заботиться о том, как лучше всего Bean' | ||
+ | |||
+ | **Bean** - компоненты которые создаются и управляются контейнером " | ||
+ | < | ||
+ | < | ||
+ | Inversion of Control - процесс, | ||
+ | |||
+ | Например класс А содержит в своем свойстве объект класса Б, для инициализации первого объекта, | ||
+ | |||
+ | Пример объявления | ||
+ | <code java> | ||
+ | @Component | ||
+ | public class Company { | ||
+ | // this body is the same as before | ||
+ | } | ||
+ | |||
+ | @Configuration | ||
+ | @ComponentScan(basePackageClasses = Company.class) | ||
+ | public class Config { | ||
+ | @Bean | ||
+ | public Address getAddress() { | ||
+ | return new Address(" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | //////// | ||
+ | ApplicationContext context = new AnnotationConfigApplicationContext(Config.class); | ||
+ | |||
+ | Company company = context.getBean(" | ||
+ | assertEquals(" | ||
+ | assertEquals(1000, | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Установка ===== | ||
+ | |||
+ | [[https:// | ||
+ | Скачать дистрибутив, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||