Java / Статьи / Главная страница
04-01-2008

Spring Framework – первые шаги (Конспект первый)

Spring Framework – явление на Олимпе индустрии разработки программного обеспечения, достойное внимания, хотя бы потому, что Spring смог выйти за рамки Java сообщества и сделать шаг в „святая святых“ - в .Net. Используя опыт, приобретенный мною во время преподавания на тренингах по подготовке Java разработчиков, я постарюсь в цикле статей донести до читателей нашего сайта основные концепции, заложенные в Spring. Создать „конспект лекций“, который поможет Вам сделать свои первые шаги в мир J2EE с использованием Spring Framework.

Spring Framework – первые шаги

Spring Framework – явление на Олимпе индустрии разработки программного обеспечения, достойное внимания, хотя бы потому, что Spring смог выйти за рамки Java сообщества и сделать шаг в „святая святых“ - в .Net.

Spring это многослойный J2EE фреймворк, позволяющий разработчикам использовать наработки „3й стороны“ в модульной манере. Spring - это Dipendensy Injection (DI) фреймворк. Spring - это Inversion of Control контейнер. Spring - это более 2 Мб документации. Spring - это несколько тысяч классов и интерфейсов. Spring - это …

Как же сориентироваться во всем этом многообразии терминов, классов и самое главное идей, заложенных родоначальником фреймворка, Родом Джонсоном?

Используя опыт, приобретенный мною во время преподавания на тренингах по подготовке Java разработчиков, я постарюсь в цикле статей донести до читателей нашего сайта основные концепции, заложенные в Spring. Создать „конспект лекций“, который поможет Вам сделать свои первые шаги в мир J2EE с использованием Spring Framework.

Итак, приступаем...

Конспект первый : Что такое фреймворк?

Мне довольно часто приходится слышать в среде разработчиков ходовое словечко „framework“. Его используют достаточно часто как к месту, так и не очень. Впрочем, это характерно не только для этого термина, а пожалуй, для большинства слов, заимствованных из других языков. Вероятно судьба у них такая - по мере приживания в различных средах, они начинают обрастать мистической аурой, заменяющей, под час, ее истинное значение. Вот так и со словом „framework“ - стоит только начинающему разработчику обратиться к старшим товарищам с вопросом, как слышишь в ответ: „Поищи, какой-нибудь фреймворк!“

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

Википедия, дает достаточно точное, но не проливающее свет на изучаемый в этой лекции вопрос, определение: „framework... ...help develop and glue together the different components of a software project“. Т.е. фреймворк представляет собой программное обеспечение, позволяющее склеить различные компоненты проекта.

Этой информации, однако, не достаточно, т.к. она не обладает полнотой описания. Например, Apache Commons Logging (JCL) тоже позволяет „приклеить“ к вашему приложению один из популярных логеров, однако JCL, не является фреймворком, а представляет собой библиотеку классов.

В чем же разница между библиотекой и фреймвороком? Поиском ответа на этот вопрос, занинялся Arnon Rotem-Gal-Oz в своей статье „Frameworks vs. Libraries. Не буду утомлять читателя пересказыванием статьи, а ограничусь лишь ключевыми моментами:

  • Библиотека предыдущая концепция, объединяющая утилитарные классы и их методы с целью предоставить пользователю определенную функциональность;

  • Фреймворк, с другой стороны, предоставляет как функциональность, так и последовательность вызовов (flow) вашего кода с целью придания необходимой вам специфики. Этот принцип вызовов вашего кода извне (фреймворком) и получил название Inversion of Control (IoC), который мы будем рассматривать подробно в одной из следующих лекций;

В следующем конспекте нам предстоит подробно разобраться с такими терминами, как Inversion of Control (IoC), Dependancy Injection (DI), Application Context и др.

Vyacheslav Yakovenko

Spring Framework - первые шаги (Конспект второй)


Комментарии к статье "Spring Framework – первые шаги (Конспект первый)" (8)

Vyacheslav Yakovenko

25-06-2009 08-14 2 Олег: Ваша правда, посилання дійсно є... Мабуть воно тут також недоречно.

Олег

24-06-2009 16-47 Запитав про Personality тут так, як зустрів посилання у вступі. Сорі за оффтопік.

Vyacheslav Yakovenko

10-06-2009 13-24 2 Олег: Цікаво, а чому ви запитуєте про Personality тут?! Не впевнений, що якщо ви побачили б якісь проблеми на сайт Panoramio.com ви би почали б задавати питання на Google.com ;) . Тай в загалі - це офтопік. Наступного разу подібні коментарі будуть знищені.

Олег

31-05-2009 16-46 http://personality.com.ua/courses.html Стало цікаво про стан справ в Персоналіті. На їхньому сайті якісь проблеми. Ця компанія ще проводить курси?

Slava Semushin

24-02-2009 13-58 s/inti()/init()/

Андрей Ясинецкий

10-02-2009 13-05 вот тут так же можно почитать про создание приложений ны Spring http://yasinetskiy.com/2008/02/27/spring-web-applications-development-part3/

Vyacheslav Yakovenko

13-01-2009 20-59 2 Arris: Простите, а разве Struts, Struts2, JSF, тот же spring mvc делают что-то отличное от описанного выше? ;)

Arris

25-11-2008 16-19 "Фреймворк, с другой стороны, предоставляет как функциональность, так и последовательность вызовов (flow) вашего кода с целью придания необходимой вам специфики. Этот принцип вызовов вашего кода извне (фреймворком) и получил название Inversion of Control (IoC)," А как же Struts, Struts2, JSF, тот же spring mvc? Это получается не фреймворки?!


Вам есть, что сказать?




  Введите код