Весенний учебник

Весенний учебник

Spring tutorials

Spring framework, созданный Родом Джонсоном, представляет собой чрезвычайно мощный фреймворк инверсии управления (IoC), помогающий разделить зависимости компонентов вашего проекта.

В этой серии руководств представлено множество пошаговых примеров и пояснений по использованию среды Spring.

New Spring 3.0 Tutorials (23/06/2011)
Добавлено множество руководств Spring 3.0 по использованию Spring EL, JavaConfig, AspectJ и сопоставления объектов / XML Spring (oxm). Что нового в Spring 3.0, вы можете узнать из этогоofficial Spring 3.0 references.

Spring Quick Start

Быстрый старт, чтобы понять основы разработки Spring Framework.

Spring JavaConfig (Spring 3.0)

Spring 3.0 поддерживает JavaConfig, теперь вы можете использовать аннотации для настройки в Spring.

  • Spring 3 JavaConfig examples
    Продемонстрируйте использование @Configuration и @Bean для определения bean-компонента в Spring

  • Spring 3 JavaConfig @Import example
    Продемонстрируйте использование @Import для модульной организации компонентов.

Впрыск зависимой пружины (DI)

Как Spring делать инъекцию зависимостей (DI) для управления объектными зависимостями.

  • Spring Dependency Injection (DI)
    Как Spring применяет шаблон проектирования Dependency Injection (DI) через Setter Injection и Constructor Injection.

  • Spring DI via setter method
    Внедрение зависимостей в bean-компонент через метод установки.

  • Spring DI via constructor
    Внедрение зависимостей в компонент через конструктор.

  • Constructor injection type ambiguities in Spring
    Проблема неоднозначности типа аргумента внедрения конструктора всегда возникает в компоненте, который содержит несколько методов конструктора с множеством аргументов.

Bean Basic

Все классы, которые вам нужно использовать в контейнере Spring Ioc, считаются «bean-компонентами» и объявляются в файле конфигурации bean-компонента Spring или с помощью аннотации.

  • Spring bean reference example
    Как bean-компоненты получают доступ друг к другу, указывая ссылки на bean-компоненты в том же или другом файле конфигурации bean-компонента.

  • Inject value into bean properties in Spring
    Три способа ввести значение в свойства компонента.

  • Load multiple Spring bean configuration file
    Разработчики всегда классифицируют разные файлы конфигурации bean-компонентов в разных папках модулей, вот совет, который покажет вам, как загрузить несколько файлов конфигурации bean-компонентов Spring.

  • Spring inner bean examples
    Всякий раз, когда компонент используется только для одного конкретного свойства, всегда рекомендуется объявлять его как внутренний компонент.

  • Spring bean scopes examples
    Область видимости компонента используется для решения, какой тип экземпляра компонента должен быть возвращен из контейнера Spring обратно вызывающей стороне.

  • Spring Collections (List, Set, Map, and Properties) example
    Пример вставки значений в типы коллекций (список, набор, карта и свойства).

  • ListFactoryBean example
    Создайте конкретный класс коллекции списков (ArrayList и LinkedList) и вставьте его в свойство bean-компонента.

  • SetFactoryBean example
    Создайте конкретный класс коллекции Set (HashSet и TreeSet) и вставьте его в свойство bean-компонента.

  • MapFactoryBean example
    Создайте конкретный класс коллекции карт (HashMap и TreeMap) и вставьте его в свойство bean-компонента.

  • Spring inject Date into bean property – CustomDateEditor
    Обычно Spring принимает переменную даты, вот совет по использованию CustomDateEditor, чтобы обойти это.

  • Spring PropertyPlaceholderConfigurer example
    Внешнее оформление деталей развертывания в файл свойств и доступ из файла конфигурации bean-компонента через специальный формат - $ {variable}.

  • Spring bean configuration inheritance
    Наследование очень полезно для bean-компонента для совместного использования общих значений, свойств или конфигурации.

  • Spring dependency checking
    Spring поставляется с 4 режимами проверки зависимостей, чтобы убедиться, что в bean-компоненте установлены необходимые свойства.

  • Spring dependency checking with @Required Annotation
    Проверка зависимостей в режиме аннотации.

  • Custom @Required-style annotation
    Создание пользовательской аннотации в стиле @ Required, которая эквивалентна аннотации @Required.

  • Bean InitializingBean and DisposableBean example
    Выполнение определенных действий при инициализации и уничтожении bean-компонента. (интерфейс)

  • Bean init-method and destroy-method example
    Выполнение определенных действий при инициализации и уничтожении bean-компонента. (XML)

  • Bean @PostConstruct and @PreDestroy example
    Выполнение определенных действий при инициализации и уничтожении bean-компонента. (Аннотация)

Spring Expression Language (Spring 3.0)

В Spring 3.0 представлены многофункциональные и мощные языки выражений, известные как язык выражений Spring или Spring EL.

Spring Auto Component Scanning

Spring может сканировать, обнаруживать и регистрировать ваш боб автоматически.

  • Spring Auto scanning components
    Включите Spring для автоматического сканирования, обнаружения и регистрации ваших beans.

  • Spring Filter components in auto scanning
    Пример фильтрации определенных компонентов в режиме автоматического сканирования.

Spring AutoWiring Bean

Весенние «автоматические» режимы для автоматического подключения или передачи компонентов, как в XML, так и в аннотациях.

  • Spring Auto-Wiring Beans
    Сводка по 5 типам режимов автоматического подключения в Spring.

  • Spring Autowiring by Type
    Если тип данных bean-компонента совместим с типом данных другого свойства bean-компонента, автоматически подключайте его.

  • Spring Autowiring by Name
    Если имя компонента совпадает с именем другого свойства компонента, оно автоматически подключается.

  • Spring Autowiring by Constructor
    На самом деле, это автоматическое подключение по типу в аргументе конструктора.

  • Spring Autowiring by AutoDetect
    Это означает выбор «autowire by constructor», если найден конструктор по умолчанию, в противном случае используется «autowire by конструктор».

  • Spring Autowiring with @Autowired annotation
    Примеры, показывающие, как определять режимы «автоматического подключения» в аннотации.

  • Spring Autowiring @Qualifier example
    Пример определения того, какой bean-компонент квалифицирован для автоматического подключения к полю.

Spring AOP (Аспектно-ориентированное программирование)

Spring AOP модульный сквозные аспекты в аспектах. Проще говоря, перехватчик для перехвата некоторых методов.

  • Spring AOP Example – Advice
    Примеры и объяснения различных типов советов Spring.

  • Spring AOP Example – Pointcut , Advisor
    Примеры и объяснения различных типов Spring’s Pointcut и Advisor.

  • Spring AOP interceptor sequence
    Последовательность перехватчика АОП влияет на функциональность.

  • Auto proxy creator example
    Пример автоматического создания прокси-сервера для автоматического создания прокси-объекта для ваших bean-компонентов, полезный, чтобы избежать создания множества дублированных прокси-объектов.

Spring AOP + AspectJ framework

AspectJ поддерживается начиная с Spring 2.0, более гибкий и мощный. Однако этот пример продемонстрирован в Spring 3.0.

Spring Object / XML Mapper (Spring 3.0)

В Spring 3.0 сопоставление объектов с XML (OXM) перемещается из веб-служб Spring в ядро ​​Spring Framework.

[springjdbc] #

Поддержка Spring JDBC

Spring предоставляет множество вспомогательных классов для упрощения всей работы базы данных JDBC.

  • Spring + JDBC example
    Пример, показывающий, как интегрировать Spring и JDBC.

  • JdbcTemplate + JdbcDaoSupport example
    Пример использования классов Spring JdbcTemplate и JdbcDaoSupport для упрощения общих процессов работы с базой данных JDBC.

  • JdbcTemplate Querying examples
    Вот несколько примеров, показывающих, как использовать методы JdbcTemplate query () для запроса или извлечения данных из базы данных.

  • JdbcTemplate batchUpdate() example
    Пример batchUpdate (), показывающий, как выполнять операции пакетной вставки.

  • SimpleJdbcTemplate Querying examples
    Более удобный и простой способ запрашивать или извлекать данные из базы данных.

  • SimpleJdbcTemplate batchUpdate() example
    Еще один пример пакетного обновления с SimpleJdbcTemplate, дружественным к java5 дополнением к JdbcTemplate.

  • Named Parameters examples in SimpleJdbcTemplate
    Пример, показывающий, как использовать именованный параметр в качестве значений параметров SQL, и это поддерживается только в SimpleJdbcTemplate.

Поддержка Spring Hibernate

Spring поставляется с множеством удобных классов для поддержки Hibernate ORM.

Весенняя поддержка по электронной почте

Spring предоставляет MailSender для отправки электронной почты через JavaMail API.

  • Sending E-mail via MailSender
    Пример использования Spring MailSender для отправки электронной почты через SMTP-сервер Gmail.

  • E-mail template in bean configuration file
    Жестко запрограммировать все свойства электронной почты и содержимое сообщения в теле метода - не лучшая практика, вам следует подумать об определении шаблона сообщения электронной почты в файле конфигурации компонента Spring.

  • Sending e-mail with attachment
    Пример использования Spring для отправки электронного письма с вложениями.

Поддержка весеннего планирования

Spring имеет очень хорошую поддержку как в JDK timer, так и в Quartz Framework.

Интеграция Spring с другими веб-фреймворками

Spring интегрируется с другими веб-фреймворками.

Весенние часто задаваемые вопросы

  • Install Spring IDE in Eclipse
    Статья о том, как установить Spring IDE в Eclipse.

  • Resource bundle with ResourceBundleMessageSource example
    ResourceBundleMessageSource - наиболее распространенный класс для разрешения текстовых сообщений для разных языков.

  • Access MessageSource in bean (MessageSourceAware)
    Пример, показывающий, как получить MessageSource в компоненте через интерфейс MessageSourceAware.

  • Resource loader with getResource() example
    Загрузчик ресурсов Spring предоставляет очень общий метод getResource () для получения таких ресурсов, как (текстовый файл, медиафайл, файл изображения ...) из файловой системы, пути к классам или URL.