Автор оригинала: mkyong.
В этой серии учебных пособий приводится множество пошаговых примеров и объяснений по использованию Spring framework.
Весенний Быстрый Старт
Быстрый старт, чтобы понять основы разработки Spring framework.
- Пример весеннего привета миру Maven + Весна 2.5.6 пример привет, мир.
- Весна 3.0 пример привет, мир (Весна 3.0) Пример Maven + Spring 3.0 привет, мир, что необходимо для разработки новой версии Spring 3.0.
- Пример пружины со слабой связью Пример для демонстрации демонстрирует, как пружина делает компоненты слабо связанными.
Весенняя JavaConfig (Весна 3.0)
Spring 3.0 поддерживает конфигурацию Java, теперь вы можете использовать аннотации для настройки в Spring.
- Весна 3 Примеры JavaConfig Продемонстрируйте использование @Configuration и @Bean для определения компонента весной
- Весна 3 JavaConfig @Пример импорта Продемонстрируйте использование @Import для организации компонентов в модульном формате.
Впрыск пружинной зависимости (DI)
Как весной выполнить внедрение зависимостей (DI) для управления зависимостями объектов.
- Впрыск пружинной зависимости (DI) Как Spring применяет шаблон проектирования инъекции зависимостей (DI) с помощью инъекции установщика и инъекции конструктора.
- Пружинный DI с помощью метода настройки Внедрение зависимостей в компонент с помощью метода настройки.
- Spring DI через конструктор Внедрение зависимостей в компонент через конструктор.
- Неоднозначности типа инъекции конструктора весной Проблема неоднозначности типа аргумента внедрения конструктора всегда возникает в компоненте, который содержит несколько методов конструктора со многими аргументами.
Бобовый Базовый
Все классы, которые вам нужно использовать в контейнере Spring Ioc, считаются “бобовыми” и объявляются в файле конфигурации Spring bean или с помощью аннотации.
- Эталонный пример весенних бобов Как компоненты получают доступ друг к другу, указывая ссылки на компоненты в одном или разных файлах конфигурации компонентов.
- Ввод значения в свойства фасоли весной Три способа ввода значения в свойства фасоли.
- Загрузите файл конфигурации нескольких компонентов Spring/| Разработчики всегда классифицируют разные файлы конфигурации компонентов в разных папках модулей, вот совет, который покажет вам, как загрузить несколько файлов конфигурации компонентов Spring. Примеры пружинных внутренних бобов
- Всякий раз, когда компонент используется только для одного конкретного свойства, всегда рекомендуется объявлять его как внутренний компонент. Примеры областей применения весенних бобов
- Область действия компонента используется для определения того, какой тип экземпляра компонента должен быть возвращен из контейнера Spring обратно вызывающему объекту. Пример весенних коллекций (Список, Набор, Карта и свойства)
- Пример ввода значений в тип коллекций (Список, Набор, Карта и свойства). Пример ListFactoryBean
- Создайте конкретный класс коллекции списков (ArrayList и LinkedList) и вставьте его в свойство компонента. Пример SetFactoryBean
- Создайте конкретный класс коллекции наборов (HashSet и TreeSet) и вставьте его в свойство bean. Пример MapFactoryBean
- Создайте конкретный класс коллекции карт (HashMap и TreeMap) и вставьте его в свойство bean. Весна вводит дату в свойство компонента – CustomDateEditor
- Обычно Весна принимает переменную даты, вот совет использовать CustomDateEditor, чтобы обойти ее. Пример конфигурации Spring PropertyPlaceholderConfigurer
- Перенесите сведения о развертывании в файл свойств и получите доступ из файла конфигурации компонента с помощью специального формата – ${переменная}. Наследование конфигурации Spring bean
- Наследование очень полезно для компонента для совместного использования общих значений, свойств или конфигурации. Проверка зависимости пружины
- Spring поставляется с 4 режимами проверки зависимостей, чтобы убедиться, что в компоненте установлены необходимые свойства. Весенняя проверка зависимостей с @Требуемой аннотацией
- Проверка зависимостей в режиме аннотации. Пользовательская аннотация в стиле @Required
- Создайте пользовательскую аннотацию в стиле @Required, которая эквивалентна аннотации @Required. Пример инициализации компонента Bean и DisposableBean
- Выполните определенные действия при инициализации и уничтожении компонента. (интерфейс) Пример метода инициализации боба и метода уничтожения
- Выполните определенные действия при инициализации и уничтожении компонента. (XML) Пример компонента @PostConstruct и @PreDestroy
- Выполняет определенные действия при инициализации и уничтожении компонента. (Аннотация)
Язык выражений Spring (Spring 3.0)
В Spring 3.0 представлены функции богатого и мощного языка выражений, известного как язык выражений Spring, или Spring EL.
- Пример весеннего ЭЛЬ-привет, мир Быстрое начало использования языка выражений Spring (EL).
- Пример ссылки на компонент SpringEL/|Ссылочный компонент, свойство компонента с использованием символа точки (.). Пример вызова метода SpringEL
- Вызов метода компонента напрямую. Пример операторов SpringEL
- SpringEL поддерживает большинство стандартных реляционных, логических и математических операторов. Пример тернарного оператора Spring EL (if-then-else)
- Условная проверка, если иначе, то. Массивы Spring EL, списки, Пример карт
- Работает с картой и списком. Пример регулярного выражения Spring EL
- Регулярное выражение для оценки условия. Протестируйте пружину с помощью анализатора выражений
- Покажу вам, как легко протестировать SpringEL.
Автоматическое сканирование компонентов Пружины
Spring может автоматически сканировать, обнаруживать и регистрировать ваш боб.
- Компоненты автоматического сканирования Spring Включите Spring для автоматического сканирования, обнаружения и регистрации ваших компонентов.
- Компоненты пружинного фильтра при автоматическом сканировании Пример фильтрации определенных компонентов в режиме автоматического сканирования.
Пружинный автопроводящий боб
Пружинные режимы “автоматической проводки” автоматически подключаются к проводам или компонентам, как в XML, так и в аннотациях.
- Пружинные Бобы Для Автоматической проводки Краткое описание 5 типов режимов автоматической проводки весной.
- Пружинный автопровод по типу Если тип данных компонента совместим с типом данных другого свойства компонента, автоматически подключите его.
- Пружинный автопровод по названию Если имя компонента совпадает с именем другого свойства компонента, автоматически подключите его.
- Пружинный автопровод от конструктора На самом деле, это автоматическое подключение по типу в аргументе конструктора.
- Пружинный автопровод с автоматическим определением Это означает выбор “autowire по конструктору”, если найден конструктор по умолчанию, в противном случае используется “autowire по типу”.
- Весенняя автоматическая проводка с аннотацией @Autowired Примеры, показывающие, как определить режимы “автоматической проводки” в аннотации.
- Пример квалификатора @ Spring Autowiring @ Пример для определения того, какой компонент имеет право автоматически подключаться к полю.
Spring AOP (Аспектно-ориентированное программирование)
Весенний AOP модулирует сквозные проблемы в различных аспектах. Проще говоря, перехватчик для перехвата некоторых методов.
- Пример Spring AOP – Советы Примеры и пояснения к различным типам советов Spring.
- Пример Spring AOP – Точечный вырез, советник Примеры и пояснения о различных типах точечного выреза и советника Spring.
- Последовательность перехватчиков Spring AOP Последовательность перехватчика AOP повлияет на функциональность.
- Пример создания автоматического прокси-сервера Пример автоматического создания прокси-сервера для автоматического создания прокси-объекта для ваших компонентов, полезный, чтобы избежать создания множества дублированных прокси-объектов.
Каркас Spring AOP + AspectJ
AspectJ поддерживается с весны 2.0, более гибкий и мощный. Однако этот пример продемонстрирован в Spring 3.0.
- Пример аннотации Spring AOP + AspectJ (Весна 3.0) Пример, показывающий, как интегрировать аннотацию AspectJ с Spring framework.
- Spring AOP + AspectJ в примере конфигурации XML (Весна 3.0) Весенний AOP с AspectJ в базовой конфигурации XML.
Сопоставитель объектов Spring/XML (Весна 3.0)
В Spring 3.0 сопоставление объектов с XML (OXM) перемещается из веб-служб Spring в основную платформу Spring.
- Пример сопоставления объекта Spring/XML Spring oxm + castor, преобразует объект в XML и наоборот.
Поддержка Spring JDBC
Spring предоставляет множество вспомогательных классов для упрощения общей работы с базой данных JDBC.
- Пример Spring + JDBC Пример, показывающий, как интегрировать Spring и JDBC.
- JdbcTemplate + пример поддержки JDBCDAOS/| Пример использования классов Spring JdbcTemplate и JdbcDaoSupport для упрощения общих процессов работы с базой данных JDBC. Примеры запросов JdbcTemplate
- Вот несколько примеров, показывающих, как использовать методы JdbcTemplate query() для запроса или извлечения данных из базы данных. JdbcTemplate пакетное обновление() пример
- Пример пакетного обновления(), показывающий, как выполнять операции пакетной вставки. SimpleJdbcTemplate Примеры запросов
- Более удобный и простой способ запроса или извлечения данных из базы данных. Пример пакетного обновления SimpleJdbcTemplate()
- Еще один пример пакетного обновления с помощью SimpleJdbcTemplate, удобного для java5 дополнения к JdbcTemplate. Примеры именованных параметров в SimpleJdbcTemplate
- Пример, показывающий, как использовать именованный параметр в качестве значений SqlParameter, и это поддерживается только в SimpleJdbcTemplate.
Поддержка весенней спячки
Spring поставляется со множеством удобных классов для поддержки платформы Hibernate ORM.
- Maven + Весна + Гибернация + Пример MySQL Простой проект использования Spring и Hibernate.
- Maven + (Весна + Гибернация) Аннотация + Пример MySQL Простой проект с использованием Spring и Hibernate (версия аннотации).
- Весеннее управление транзакциями AOP в режиме гибернации Пример, показывающий, как управлять транзакцией гибернации с помощью Spring AOP.
- Стойки + Пружина + Интеграция с гибернацией Пример интеграции Spring с каркасом Struts и Hibernate.
Весенняя поддержка электронной почты
Spring предоставляет отправителю почты возможность отправлять электронную почту через API JavaMail.
- Отправка электронной почты через Отправителя почты Пример использования почтового отправителя Spring для отправки электронной почты через SMTP-сервер Gmail.
- Шаблон электронной почты в файле конфигурации компонента Жесткий код всех свойств электронной почты и содержимого сообщений в теле метода не является хорошей практикой, вам следует рассмотреть возможность определения шаблона сообщения электронной почты в файле конфигурации компонента Spring.
- Отправка электронного письма с вложением Пример использования Spring для отправки электронного письма с вложениями.
Поддержка Весеннего Планирования
Spring имеет очень хорошую поддержку как в JDK timer, так и в рамках Quartz.
- Пример планировщика таймера Spring + JDK Статья о том, как Spring планирует задание с помощью таймера JDK.
- Пример планировщика Spring + Quartz/| Статья о том, как Spring планирует работу с помощью Quartz framework. Пружина + Распорки + Пример кварцевого планировщика
- Интегрируйте пружину с распорками и запланируйте работу с помощью каркаса Quartz.
Интеграция Spring с другими веб-фреймворками
Spring интегрируется с другими веб-фреймворками.
- Внедрение зависимостей Spring в прослушиватель сеанса сервлета Spring поставляется с прослушивателем “ContextLoaderListener” в качестве универсального способа включения внедрения зависимостей Spring в прослушиватель сеансов и почти во все другие веб-платформы.
- Стойки + Интеграция пружин Пример интеграции пружины с каркасом Struts 1.x.
- Стойки 2 + Пример интеграции пружин Пример интеграции пружины с каркасом Struts 2.
- Пример интеграции JSF 2.0 + Spring Пример интеграции JSF 2.0 с Spring framework.
- Пример интеграции JSF 2.0 + Spring + Hibernate Пример совместной интеграции JSF 2.0 + Spring + Hibernate framework.
- Пример интеграции Калитка + пружина Пример интеграции калитки с Spring framework.
- Стойки 2 + Пружина + Пример интеграции планировщика кварца Пример интеграции пружины + Распорки 2 + Кварц.
- Стойки 2 + Пружина + Пример интеграции гибернации Пример интеграции пружины + Стойки 2 + Режим гибернации.
Весенние часто задаваемые вопросы
- Установите Spring IDE в Eclipse Статья о том, как установить Spring IDE в Eclipse.
- Пакет ресурсов с примером ResourceBundleMessageSource ResourceBundleMessageSource – это наиболее распространенный класс для разрешения текстовых сообщений для разных языков.
- Доступ к источнику сообщений в компоненте (messagesourceaware) Пример, показывающий, как получить источник сообщения в компоненте через интерфейс MessageSourceAware.
- Загрузчик ресурсов с примером getResource() Загрузчик ресурсов Spring предоставляет очень общий метод getResource() для получения ресурсов, таких как (текстовый файл, медиафайл, файл изображения…), из файловой системы, пути к классу или URL.
Весенние Распространенные Ошибки
Некоторые весенние распространенные сообщения об ошибках.
- Исключение ClassNotFoundException: org.springframework.web.контекст. Контекстный загрузчик
- Не удается прокси-сервер целевого класса, так как CGLIB2 недоступен
- CGLIB необходим для обработки классов @конфигурации
- java.lang. Исключение ClassNotFoundException: org.exolab.castor.xml . Исключение XmlException
- java.lang. Исключение ClassNotFoundException: org.apache.xml.сериализация. Xmlсериализатор
Весенние ссылки
- Весенний фреймворк (Вики)
- Весенняя Официальная Документация
- Документация Весны 2.5.6
- Документация Spring 3.0
Оригинал: “https://mkyong.com/tutorials/spring-tutorials/”