populyarnyj-frejmvork-dlya-napisaniya-prilozhenij

Популярный фреймворк для написания приложений

Когда мы думаем о сообществе разработчиков на языке Java, мы вспоминаем полчища старателей, которые в конце 1840-х годов неистово прочесывали реки Северной Америки в поисках золотых самородков. Наши «реки» — реки Jаvа-разработчиков — изобилуют проектами с открытым кодом, но, в отличие от истории со старателями, нахождение действительно полезного проекта может оказаться длительным по времени и трудным процессом.

Многим проектам с открытым кодом Java характерна общая особенность — они были призваны просто заполнить пробел в реализации последней «модной» технологии или шаблона. С учетом сказанного, многие высококачественные и полезные проекты предназначены для решения реальных потребностей в реальных приложениях. С одним из них вы ознакомитесь достаточно подробно — и это, как не трудно догадаться, Spring.

На протяжении всего моего блога вы будете сталкиваться со многими применениями разнообразных технологий с открытым кодом, причем все они объединены в платформу Spring Framework. Благодаря Spring, разработчик приложений может пользоваться широким спектром инструментов с открытым кодом, не занимаясь написанием больших объемов кода и не привязывая создаваемое приложение слишком тесно к какому-то конкретному инструменту.

В этой статье вы ознакомитесь с платформой Spring Framework без анализа крупных примеров или изучения подробных объяснений. Предлагаем записаться на курсы java spring

Что такое Spring?
Пожалуй, наиболее трудной частью объяснения технологии Spring является точная классификация того, что она собой представляет. Обычно Spnng описывают как облегченную платформу для построения Jаvа-приложений, но с этим утверждением связаны два интересных момента.

Во-первых, Spring можно применять для построения любого приложения на языке Java (например, автономных, веб-приложений или приложений Java Enterprise Edition (JEE)) в отличие от многих других платформ (таких как Apache Struts, которая ограничена созданием только веб-приложений).

Во-вторых, характеристика облегченная в действительности не имеет никакого отношения к количеству классов или размеру дистрибутива, а вместо этого определяет принцип всей философии Spring — минимальное воздействие. Платформа Spring является облегченной в том смысле, что для использования всех преимуществ ядра

Spring вы должны вносить минимальные (если вообще какие-либо) изменения в код своего приложения, а если в какой-то момент вы решите прекратить пользоваться Spring, то и это сделать очень просто.

Обратите внимание, что речь идет только о ядре Spring — многие дополнительные компоненты Spring, такие как доступ к данным, требуют более тесной привязки к Spring Framework. Однако польза от такой привязки вполне очевидна.

Эволюция Spring Framework
Платформа Spring Framework берет начало из книги Рода Джонсона Experl One-on-One: J2EE Design and Development (Wox, 2002 г.). За прошедшее десятилетие Spring Framework значительно выросла в плане основной функциональности, связанных проектов и поддержки со стороны сообщества. Теперь, когда доступен новый крупный выпуск Spring Framework, полезно взглянуть на важные средства, которые появились в каждом промежуточном выпуске Spring, в конечном итоге приведя к выходу Spring Framework 4.0.

Spring 0.9
Первый публичный выпуск платформы, основанный на книге Expert One-on-One: J2EE Design and Development
Spring 1.x
Spring Core: контейнер бинов и поддерживающие утилиты
Spring Context: ApplicationContext, пользовательский интерфейс, проверка достоверности, JNOI, Enterprise JavaBeans (EJB), удаленная обработка и почтовая поддержка
Spring DAO: поддержка инфраструктуры транзакций, Java Oatabase Connectivity (JOBC) и объектов доступа к данным (data access object — DАО)
Spring ORM: поддержка Hibemate, iBATJS и Java Data Objects (JDO)
Spring АОР: реализация аспектно-ориентированного программирования (АОП), согласованного с альянсом АОР Alliance
Spring Web: базовые средства интеграции, такие как функциональность множественного содержимого, инициализация контекста посредством прослушивателей сервлетов и контекст неб-ориентированных приложений
Spring Web MVC: инфраструктура «модель-представление-контроллер» (Model-View-Controller — MVC) для построения веб-приложений
Spring 2.х
Более простое конфигурирование XML за счет применения новой конфигурации, основанной на схеме XML (XML Schema), а не на формате ОТО. Заметные области, подверженные усовершенствованиям, включают определения бинов, АОП и декларативные транзакции
Новые области действия бинов для использования в веб-приложениях и порталах (на уровне запроса, сеанса и глобального сеанса)
Поддержка аннотаций @AspectJ для разработки с применением АОП о Уровень абстракции Java Persistence API (JPA)
Полная поддержка асинхронных объектов POJO (Plain Old Java Object — простой старый объект Java), управляемых сообщениями JMS
Упрощения JDBC, в том числе SimpleJdbcTemplate, когда применяется Java 5+
Поддержка именованных параметров JDBC (NamedParameterJdbc Template)
Библиотека дескрипторов форм для Spring MVC
Введение инфраструктуры Portlet MVC
Поддержка динамических языков: бины могут быть написаны на JRuby, Groovy и BeanShell
Поддержка уведомлений и управляемой регистрации MBean в JMX
Абстракция TaskExecutor, введенная для планирования задач
Поддержка аннотаций Java 5, в частности для @Transactional и @Required в дополнение к @AspectJ