Содержание
- 2. План Spring JDK Среда разработки и создание проекта Inversion of Control Dependency Injection
- 3. Spring Spring – это фреймворк, предназначенный для более быстрого и простого построения Java приложений.
- 4. Spring Spring предоставляет каркас вашего будущего приложения. При этом фреймворк диктует вам правила построения приложения –
- 5. Spring Как видно, у спринга модульная структура. Это позволяет подключать только те модули, что нам нужны
- 6. Spring В приложении на основе Spring объекты слабосвязаны за счет использования внедрения зависимостей. Одной из целью
- 7. Spring Spring освобождает не только от необходимости создавать объекты, но и связывать их. Например аннотация @Autowired
- 8. Spring в Spring настройки компонентов отделены от программного кода. Вынесение конфигурации (управление зависимостями) в отдельный файл
- 9. JDK Для разработки на языке программирования Java нам потребуется специальный комплект инструментов, который называется JDK или
- 10. JDK Однако стоит отметить, что существуют разные реализации JDK, хотя все они используют один и тот
- 11. Среда разработки IntelliJ IDEA — интегрированная среда разработки программного обеспечения для многих языков программирования, в частности
- 12. Среда разработки NetBeans IDE — свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, Python,
- 13. Создание проекта в IntelliJ IDEA
- 14. Создание проекта в IntelliJ IDEA
- 15. Создание проекта в IntelliJ IDEA
- 16. Создание проекта в IntelliJ IDEA Метод sayHello() принимает параметр имени и возвращает слово Hello в сочетании
- 17. Создание проекта в IntelliJ IDEA Запускаем приложение Вывод в терминал ?
- 18. Создание проекта в IntelliJ IDEA Получаем ответ от сервера
- 19. Создание проекта start.spring.io Заходим на сайт https://start.spring.io/ Прописываем аналогичные характеристики проекта и скачиваем архив
- 20. Создание проекта start.spring.io Заходим на сайт https://start.spring.io/ Прописываем аналогичные характеристики проекта и скачиваем архив
- 21. Создание проекта start.spring.io Заходим на сайт https://start.spring.io/ Прописываем аналогичные характеристики проекта и скачиваем архив
- 22. Inversion of Control Рассмотрим простейший пример. Создадим примитивный класс с единственным методом.
- 23. Inversion of Control Создаем класс с функцией main и проверяем работоспособность ранее созданного класса.
- 24. Inversion of Control Предположим, что мы хотим, чтобы не только собаки, но и другие животные издавали
- 25. Inversion of Control Заменяем тип в классе Test и получаем ожидаемый результат. Все по-прежнему работает.
- 26. Inversion of Control Создадим аналогичный класс Cat. И выведем его в классе Test. Чтобы каждый раз
- 27. Inversion of Control Как это будет работать в Spring? Ответственным за создание и управление объектом является
- 28. Inversion of Control Контейнер будет читать наш конфигурационный файл, и в контейнере будет создаваться тот объект(ы),
- 29. Inversion of Control Таким образом в конфиг. файле мы описываем наш объект, например: Dog, Cat и
- 30. Inversion of Control И когда такой объект понадобится классу Test, он получит его напрямую из контейнера.
- 31. Inversion of Control Основные функции, которые выполняет Spring Container: IoC – инверсия управления, создание и управление
- 32. Inversion of Control Создадим папку resources файл applicationContext со следующим содержимым: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context
- 33. Inversion of Control Конфигурация XML файла: class = “полное название класса”>
- 34. Inversion of Control
- 35. Inversion of Control Spring bean (или просто bean) – это объект, который создается и управляется Spring
- 36. Inversion of Control Создаем контекст и получаем их него объект
- 37. Inversion of Control Запускаем
- 38. Inversion of Control Стоит отметить, что если мы захотим поменять класс Dog на Cat и вызвать
- 39. Dependency Injection Начнем с простого примера. Допустим, у нас есть объект employee (работник), а у него
- 40. Dependency Injection То есть при создании объекта employee, он имеет ссылку на объект car. Это называется
- 41. Dependency Injection Например, у нашего employee есть еще ряд зависимостей. Получается, что для создания employee необходимо
- 42. Dependency Injection Вместо этого можно все описать в конфиг. файле, и потом в Spring Container создаются
- 43. Dependency Injection Для демонстрации создадим класс Person. Это будет хозяин домашнего животного. У него будет единственный
- 44. Dependency Injection Без применения Spring работа с этим классом выглядела бы следующим образом.
- 45. Dependency Injection Модифицируем код с применением уже имеющихся знаний о Spring Container и созданного bean. Обратите
- 46. Dependency Injection Вернемся к упомянутой выше концепции. На рисунке показана сборка объекта employee из составляющих его
- 47. Dependency Injection Dependency Injection – это аутсорсинг добавления/внедрения зависимостей. DI делает объекты нашего приложения слабо зависимыми
- 48. Dependency Injection DI с помощью конструктора. Добавим bean myPerson. Внутри него создадим тег constructor-arg и передадим
- 49. Dependency Injection Теперь нам достаточно получить bean myPerson. В bean уже будет внедрена зависимость. С объектом
- 50. Dependency Injection DI с помощью сеттера. Добавим сеттер в класс Person, создадим конструктор без параметров и
- 51. Dependency Injection Видоизменим bean.
- 52. Dependency Injection Запускаем класс Test2. Обратите внимание, что в нем не изменилось абсолютно ничего. Вывод корректен.
- 53. Dependency Injection Внедрение строк и других значений. Добавим имя и возраст в наш класс Person. И
- 54. Dependency Injection Выведем заданные параметры при помощи геттеров.
- 55. Dependency Injection Внедрение строк и других значений из properties файла. Для начала создадим файл myApp.properties и
- 56. Dependency Injection Добавляем контекст в наш конфигурационный файл. Теперь мы можем обращаться к значениям из properties.
- 58. Скачать презентацию