![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Samotnik |
|
||||||||||||||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Не давно начал изучать новый (для меня) framework под названием Spring. Зайдя на гугл, приятно удивился, информации по данной теме очень много, главный источник, это оффициальный сайт. Но к сожалению маленького примерчика с обьяснениями я так и не нашел. Вот решил сделать сам что-то (естественно опираясь на литературу из сети, в основонм от сюда)
ИТАК. Что же такое Spring ? Spring это легковесный opensource J2EE Framework, разработка которого началась в феврале 2003 года. Основой послужил программный код, опубликованный в книге Expert One-on-One Design and Development (Автор Род Джонсон, 2002 г.). Причем основные идеи возникли еще в 2000 году и являлись отражением опыта успешной разработки нескольких коммерческих проектов. Сейчас Spring это достаточно популярный opensource проект, охватывающий многие аспекты как J2EE, так и Java разработок. В основе Spring лежит 7 составляющих (см. рисунок ![]() ![]() ![]() 1)The core container: Ядро, это основа работы всего фрэймворка. В нем содержится весь основной функционал, принципы и философия Spring. В нем основным компонентом является BeanFactory. BeanFactory применяет Inversion of Control (IOC) pattern для разьединения конфигурации приложения. Т.е. этот паттерн помогает вам не создавать ваши обьекты, а обьявлять как они должны быть созданны. Все компаненты и сервисы связываются не на прямую, а через конфигурационный файл. 2) Spring context module: Это конфигурационный файл, который предоставляет необходимую информацию Спрингу. Spring context включает различные сервисы, такие как jndi, e-mail, EJB, интернационализацию, валидацию, и т.д. Также включает поддержку интеграции с различными другими фрэймворками (velocity, .... ) 3) Spring AOP module: Spring AOP позволяет расширять программные компоненты, с дополнительными способностями, через свою собственную конфигурацию. Вобщем, спринг, может управлять любым AOP обьктом. С помощью Spring AOP можно неявно управлять транзакциями в своем приложении без доп компонентов. 4) Spring DAO module: Тут все из названия понятно. Поддержка JDBC, DAO ![]() 5) Spring ORM module: Интеграция с Hibernate, JDO, iBATIS. И вообще, поддержка всех ORM фрэймворков. 6)Spring Web module: тут тоже все понятно, полная интеграция и взаимодействие с WEB фреймворками (Struts к примеру). Простое использование спринга в WEB приложениях (J2EE имеется в виду ![]() 7)Spring MVC framework module: Поддержка и использование знаментитого паттерна M-V-C Model - View - Controller. Разграничение обязанностей между 3-я компонентами. Это было краткое описание, основных модулей работы Spring Framework. О них можно очень подробно прочитать на оффициальном сайте. тут Все же, цель моей статьи: написать маленькое и понятное приложение на спринге. С обьяснениями. Поехали ![]() 1. Создадим 2 простых интерфейса, в котором будет обьявленно по одному методу hello и bye и для удобства положим их в пакет service ByeService
HelloService
Рас у нас есть интерфесы, значит все методы там обьявленные нужно заимплементить. положим эти классы в пакет serviceImpl ByeServiceImpl
HelloServiceImpl
ОГ. Теперь нужен бин (java класс) в котором обьявим геттеры и сеттеры, а также метод который будет отвечать, за то, что будет вызываться, либо Hello либо Bye. И положим его в пакет bean HelloBean
Это тоже сделанно. Далее. Далее самое интересное ![]() hello.xml
Необходим класс Name который будет устанавливать имена и получать Name.java
Ну а вот и сам класс, который является сердцем спринга ![]()
Вывод: Spring отличный фреймворк, позволяет писать понятные и простые приложения (как J2EE так и J2SE). Чем он хорош ? В данном примере, хорош тем, что создание обьектов не привязанно к самому классу, а происходит в самом фреймворке. Через ApplicationContext происходят все инъекции, и все очень замечательно конфигурируется... Вот, надеюсь кому - то этот пример с пояснениями поможет ![]() ссылко |
||||||||||||||||
|
|||||||||||||||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Samotnik, молодец! Что-то тебя последнее время на статьи потянуло, хорошее начинание
![]() А по сабжу стоит добавить, что приведенный пример показывает только ядро Спринга - IOC/Dependency Injection container для JavaSE. Основное же применения Спринга - это веб приложения, он отлично интегрируется со многими Java EE технологиями. -------------------- Lost.... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
дык да конечно, Spring ориентирован больше на WEB Java
И должно в полной мерене применяться MVC интернационализация, валидация, Hibernate, .. и т.д. я тут хоте показать сам принцип работы, т.е. как это вообще происходит и с чем это едят, а от этого уже можно прыгать дальше и выше и больше ![]()
Дык да, я поэтому в раздел Java:общие вопросы и поместил. Было бы web поместил бы в J2EE ![]() |
|||
|
||||
Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
Samotnik, рискуешь заполучить первый джавный плюс, так держать!
![]() Однако вот это смутило:
Как же так? Вот ссылка на подробное описание создания веб-приложения в полном MVC, настоятельно рекомендую к ознакомлению - даёт хорошую базу и мощный пинок к дальнейшему самостоятельному изучению. Это сообщение отредактировал(а) Shaggie - 13.10.2008, 12:10 |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
Shaggie, не внимательно читал пример.
Самотник рассматривает не только Spring Web MVC , а Spring в целом. |
|||
|
||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Да... через эту ссылку я тоже прошел и всех учеников послал туда ![]() Документация Спринга очень хорошая, ее можно на офсайте найти. -------------------- Lost.... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Shaggie, т.е. по твоему это простой пример ?
![]() К тому же статья выложена в разделе Java:общие вопросы а не в J2EE И попытался этим примером показать работу спринга ВОБЩЕМ.... ![]() Это сообщение отредактировал(а) Samotnik - 9.5.2008, 00:20 |
|||
|
||||
Shaggie |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
Да. Есть возражения?
Это, я так понимаю, краткое перечисление компонент в начале статьи? Потому что пример демонстрирует исключительно IoC, - согласен, очень доступно, - но на "Spring в целом" не тянет.
Заодно присоединюсь к мнению Kangaroo о корректности выкладывания статьи про Spring в общих вопросах. Признаться, никогда не слышал о его использовании не в энтерпрайз приложениях, в основном под них всё заточено. Прошу прощения, если кого вдруг обижу или неприятно удивлю, но мне настолько простого примера явно маловато. Возможности Spring'а в нём практически неощутимы на вкус, нет внятного стимула к изучению. Мир! Всем мир! Я просто подивился цитате "это оффициальный сайт. Но к сожалению маленького примерчика с обьяснениями я так и не нашел", и выложил тот самый примерчик, так сказать, обелил официальный сайт создателей Spring. С большим нетерпением жду от Samotnik дальнейших статей. |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Shaggie, што ты хочеш ??
Не нравицца не читай! ![]() [censored 2] , выложи сам получше чего нибудь.... Вот у нас всегда такая система... все сидят тихо, никто ничего не говорит, КАК только что-то новенькое появится, люди сразу от куда не возьмись появляются и начинают критиковать из-под тяжка, при том, что сами нифига конкретного не предлагают ! Это сообщение отредактировал(а) tux - 10.5.2008, 02:06 |
|||
|
||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Samotnik, зря ты так. Конструктивная критика только помогает.
А так - в бан. И правильно. Плохое настроение не является оправданием наезда на людей. -------------------- Lost.... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
какое настроение ?? ты видел что он мне написал ? Это низко и подло, выдезти из-за угла, написать сообщение в котором унизил все мои труды. и обратно залезть в свою конуру, при том, что сам ничего не сказал по делу! Я не навижу таких недалеких людей ! Разве это по мужски ? Это сообщение отредактировал(а) Samotnik - 9.5.2008, 23:50 |
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Samotnik
Это форум, в котором общаются на профессиональные тематики. Молодец, что написал статью, я с интересом с ней ознакомился. Очень плохо, что перешел на личности и нецензурную брань какой бы ни была твоя причина, это крайне непрофессоинально, совершенно не к месту и никому эти эмоции здесь не интересны, для эмоций есть флеймовые разделы форума. Особенно если учесть, что замечания Shaggie были во многом по делу и должны были стать толчком к развитию статьи (кстати, по-моему тема тоже тема для Java2EE раздела, была.. до последних высказываний..) Твоя реакция совершенно неадекватна и не соответствует духу форума. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Samotnik
Более чем, что в этом странного. Мне тоже будет интересно почитать если напишешь. Особенно про Spring MVC, поскольку много работаю с веб. Неадекватен мат, неадекватны эмоции в профессиональном споре. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Так в том-то и дело, Макс, спора ведь нету ![]() ![]() Но ведь согласись, со стороны Shaggie, были только шишки в мою сторону, ничего пазитивного, он тока говорил о том, что я не внимателен, не то пишу, не так думаю, не так сижу. А сам что сделал? Он тока облил меня грязью, сам ничего конкретного и путного не предложил. Ведь можно было в другой форме мне сказать о чем нибудь, мы бы с ним обсудили, я бы что-нибудь поправил ![]() Это сообщение отредактировал(а) Samotnik - 10.5.2008, 00:17 |
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Samotnik
Это уже офтоп. Просто возьми на заметку то что я написал. По теме. Всем интересующимся Spring советую начинать знакомстово с изучения паттерна IoC. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
окей, я считаю, что шэгги поступил не красиво! можно было о всех недачетах сказать в более мягкой форме, потому что критиков, которые тупо грязью поливают, очень много, а вот людей с кем можно поговорить и обсудить - очень мало
![]() |
|||
|
||||
Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
Samotnikу я отвечу в ПМ. Модераторам: извините за неумышленное раздувание пожара, я такой реакции совершенно не ожидал
![]() |
|||
|
||||
javastic |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: нет Всего: 27 |
-------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |