Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring - зачем он нужен 
:(
    Опции темы
integral
Дата 27.8.2010, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.7.2006
Где: Dnipropetrovs' ;k, Ukraine

Репутация: нет
Всего: нет



Вот такой странные вопрос
Зачем нужен спринг с его xml-конфигурационным файлом и неужели ради IoC люди возятся с ним?


--------------------
import my.opinion.*;
жж
PM ICQ   Вверх
Prof_2000
Дата 27.8.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 26.3.2005
Где: Харьков, Украина

Репутация: нет
Всего: 1



Ну во-первых, кроме XML-конфигурации Spring допускает настройку с помощью аннотаций, что некоторые считают более удобным подходом.

А вообще, Spring - это больше чем просто IoC контейнер, хоть тот и является его ключевой частью. Spring - большой фреймворк со своей областью применения. В своё время на проекте мы отказались от него в пользу google-guice, т.к. нужен был только IoC.
--------------------
Pereant qui ante nos nostra dixerunt! (лат.)      Да погибнут те, кто раньше нас высказал наши мысли!   
PM MAIL WWW ICQ   Вверх
Vasay
Дата 27.8.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



integral,  Spring Roo - convention over configuration и никакого XML smile 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
integral
Дата 27.8.2010, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.7.2006
Где: Dnipropetrovs' ;k, Ukraine

Репутация: нет
Всего: нет



это все хорошо, но не отвечает на вопрос: зачем мне нужен Spring в моем приложении?


--------------------
import my.opinion.*;
жж
PM ICQ   Вверх
Prof_2000
Дата 27.8.2010, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 26.3.2005
Где: Харьков, Украина

Репутация: нет
Всего: 1



Хе smile

А никто не гарантирует, что он обязательно нужен вам в вашем приложении. Скорее всего, раз такой вопрос встал - то таки не нужен  smile 
А что-у вас за приложение-то?
--------------------
Pereant qui ante nos nostra dixerunt! (лат.)      Да погибнут те, кто раньше нас высказал наши мысли!   
PM MAIL WWW ICQ   Вверх
integral
Дата 27.8.2010, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.7.2006
Где: Dnipropetrovs' ;k, Ukraine

Репутация: нет
Всего: нет



Речь не о конкретном приложение, а скорее продолжение дискусии по-поводу использований спринга во всех приложениях подряд
А вы можете привести пример уместного использования спринга в приложении?


--------------------
import my.opinion.*;
жж
PM ICQ   Вверх
eros2
Дата 27.8.2010, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 31.5.2010

Репутация: нет
Всего: нет



Спринг уместен в случае, если приложение разворачивается на томкате, например, и нужно автоматическое управление транзакциями и т.п.
Хотя я бы в таком случае воткнул в томкат openejb.
PM MAIL WWW   Вверх
Prof_2000
Дата 27.8.2010, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 26.3.2005
Где: Харьков, Украина

Репутация: нет
Всего: 1



Мне кажется, наиболее уместно использовать его если есть перспектива использования в приложении АОП, транзакций на уровне объектов, если вероятна смена модели доступа к данным. Для реализации веб-интерфейса я его не использовал никогда, но наслышан о нескольких важных фичах, как то Spring Web MVC + Spring Web Flow, Spring security. Ну и другие интересные технологии типа JMX, JMI, RPC(RMI, SOAP)

Разумеется, можно выбрать любой стек технологий, это уже скорее дело вкуса и опыта работы с каждой из них. Главное, без фанатизма. В большом проекте с АОП мы использовали Spring, для чистого IoC-контейнера без излишеств - не стали.
--------------------
Pereant qui ante nos nostra dixerunt! (лат.)      Да погибнут те, кто раньше нас высказал наши мысли!   
PM MAIL WWW ICQ   Вверх
COVD
Дата 27.8.2010, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Spring зародился как альтернатива ЕЕ - мол, слишком громоздко для большинства случаев. И не могут остановиться. Теперь это "наше все" и сами становятся монстрами.
PM MAIL   Вверх
dobrolub
Дата 27.8.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



Цитата(COVD @ 27.8.2010,  18:37)
Spring зародился как альтернатива ЕЕ - мол, слишком громоздко для большинства случаев. И не могут остановиться. Теперь это "наше все" и сами становятся монстрами.

+1 COVD

в java ee 6 уже есть IOC javax.inject.

Что теперь будет делать спринг - я не знаю...
PM   Вверх
eros2
Дата 27.8.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 31.5.2010

Репутация: нет
Всего: нет



Цитата(Prof_2000 @ 27.8.2010,  17:50)
Мне кажется, наиболее уместно использовать его если есть перспектива использования в приложении АОП, транзакций на уровне объектов, если вероятна смена модели доступа к данным. [...] Ну и другие интересные технологии типа JMX, JMI, RPC(RMI, SOAP)

Вроде как EJB всё это умеют.
Во всяком случае - AOP, JTS/JTA, удалённые вызовы - точно есть, сам юзал. JMX - наверное зависит от контейнера, в JBoss-е есть. 
Удалённые вызовы через различные протоколы - RMI/Socket/HTTP(S) - зависит от контейнера, в JBoss-е всё перечисленное есть. 

Как я понимаю, когда-то давно EJB были весьма тяжёлыми и требовали неслабого сервера. Вот как лёгкая альтернатива и был создан Spring.
С Java EE 5/EJB 3 и выше, а также на современном железе старые проблемы уже неактуальны.

PM MAIL WWW   Вверх
v2v
Дата 27.8.2010, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Слабое связывание?


--------------------
PM   Вверх
Старовъръ
Дата 27.8.2010, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 1
Всего: 10



Цитата
Зачем нужен спринг с его xml-конфигурационным файлом и неужели ради IoC люди возятся с ним? 
Если рассматривать только IoC, то:
1. Без IoC приложения выглядят убого из-за использования Фабрик и Одиночек, что делает приложения трудно тестируемым и деревянным. 
2. Spring IoC - прост как пень, для его изучения хватит неполного дня (конечно, для глубоких познаний дня не хватит, однако глубокие знания не обязаны быть, чтоб уметь пользоваться DI).
3. Для IoC не обязательно использовать Spring: есть тот же Guice, можно и самому сварганить IoC Фабрику, хотя не уверен, что это прокатит на крупных приложениях. 
PM MAIL WWW   Вверх
powerOn
Дата 27.8.2010, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Dependency Inversion Principle, Low Coupling, High Cohesion, следовательно: легкость переиспользования компонент и понимания кода.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Andrey1
Дата 28.8.2010, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: 2
Всего: 5



Кстати, ИМХО, очень правильный вопрос. Сам я сопротивлялся спрингу до последнего. Пришлось использовать, так как ничего лучше Spring Security не нашел. Сейчас использую Spring Security и Spring JPA (+ JPA Generic Dao, + ZK). 
* Ничего плохого про спринг сказать не могу, кроме сожеления о 2-3 потраченных днях на написание xml конфигов. Плюс чувствуется "тяжесть" спринга на хостинге.
* Ничего хорошего про спринг пока тоже сказать не могу smile. Такое впечатление, что все что делается через спринг можно все делать как-то проще, через те же аннотации (пусть даже и - через спринг на нижнем уровне, как работает в Grails). 

Это сообщение отредактировал(а) Andrey1 - 28.8.2010, 09:55


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0548 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.