LINUX.ORG.RU

Где лучше всего курить Spring?

 ,


4

2

Доброго времени суток. Вопрос задал в топике. Примеры на офсайте спринга - совсем не то, по чему можно учиться. А Gradle вызывает стойкое чувство отвращения. Нашел http://docs.spring.io/spring/docs . Вопрос тем, кто его читал, - все ли темы там раскрываются настолько же хорошо, насколько много там букв? // Про IoC и DI я там обязательно почитаю, впрочем.

P.S.: Есть определенный опыт в j2ee, если это имеет какое-то значение.

P.P.S.: Минутка философии. Как нынче модно конфигурировать спринговое приложение - в xml или java-based? Про груви даже не спрашиваю. Возможность что-то подкрутить без перекомпиляции - это очевидный плюс xml, а кроме этого есть какие-либо перевесы в пользу одного из вариантов? // Мне конфигурация на java кажется вырвиглазной и укуренной, возможно, у меня плохой вкус, да.

Читать доку обязательно. Остальное в javadoc. Примеры особо не смотрел никогда. Для конфига предпочитаю XML, серьёзных аргументов не назову. Spring Security кака, в остальном Spring хорошая штука.

Legioner ★★★★★
()

Как нынче модно конфигурировать спринговое приложение - в xml или java-based?

ИМХО в XML удобнее. Не нужно ходить туда-сюда по классам. Открыл xml'ный конфиг и читаешь его.

kovrik ★★★★★
()

на работе его лучше курить, ты ведь не будешь этого монстра использовать для своих проектов или стартапчиков?

Мне конфигурация на java кажется вырвиглазной и укуренной

таков жестокий мир энтерпрайза

umren ★★★★★
()

Сейчас от XML все плюются. Везде json, даже для конфигов - это уже стандарт. А нафига тебе Spring? Для веба? Сервисы? Тогда Play, Scala, а лучше Grails, если именно веб. Сейчас уже смысла в спринге мало - куча замен нормальных, а не монструозное поделие. Но многие до сих пор на спринге - это да. Меня от одной только мысли под него писать «подташнивает».

menangen ★★★★★
()

Мне документация Spring'а в чистом виде не пришлась по нраву. Трудно понять, на какие моменты обращать внимание в первую очередь, и какой из миллиона способов сделать что-либо (взять хотя бы те же форматы конфигов) предпочтительнее. Поэтому рекомендую книжку Spring in Action. Третье издание есть и на русском. Оттуда можно целые «рецепты» черпать.

Что касается XML и Java-based конфигов, то здесь по большй части дело вкуса. Сторонники XML'я утверждают, что он удобнее за счет централизации всех настроек и даже якобы быстрее (время поднятия контейнера). Но не стоит забывать, что и XML-конфиги имеют свойство плодиться и запутываться. Я сейчас работаю над проектом, где есть несколько десятков Spring-конфигов со сложными взаимосвязями и кучей повторений одних и тех же бинов в разных файлах (даже навигация IDE перестает корректно работать). Очень неприятно это всё читать и упрощать.

Аннотации же более компактны и позволяют избежать прыжков между кодом и конфигами. Пользователи всякого старья типа vim, несомненно, оценят это преимущество. Более того, некоторые фичи Spring'а (например транзакции и интерцепторы) на аннотациях выглядят объективно изящнее и читабельнее, чем в XML'е. Поэтому не стоит бояться смешивать два подхода к конфигурации и брать лучшее из каждого.

CARS ★★★★
()
Ответ на: комментарий от umren

PM'ы знают, что 8 часов рабочего времени у меня проектная занятость, а всё остальное - «за свой счет». И ведь им правда не пофиг на мои хотелки, но заказчик такой заказчик, его мои хотелки не интересуют и не должны.

bytecode ★★
() автор топика
Ответ на: комментарий от CARS

книжку Spring in Action

Отлично, спасибо! Поищу.

Более того, некоторые фичи Spring'а (например транзакции и интерцепторы) на аннотациях выглядят объективно изящнее и читабельнее, чем в XML'е. Поэтому не стоит бояться смешивать два подхода к конфигурации и брать лучшее из каждого.

Makes sense. (:

bytecode ★★
() автор топика
Ответ на: комментарий от bytecode

PM'ы знают, что 8 часов рабочего времени у меня проектная занятость, а всё остальное - «за свой счет»

А на работе вы не пользуетесь Spring?

umren ★★★★★
()
Ответ на: комментарий от umren

Размер компании и количество проектов слишком велики, чтобы сказать нет. Наверняка на многих java проектах используется. На нашем выбор либ и фреймворков «заказан» (с) и проект очень затяжной. Так что мне до спринга на работе дотянуться крайне трудно.

bytecode ★★
() автор топика
Ответ на: комментарий от ii8_

Нет, лучше быть бородатым джава программистом, разгребающим тонны XML. XML считается тем ещё дерьмом и он не создан для конфигов, создан для роботов. А спринг уже не имеет никаких плюсов, которых бы не было в других open-source проектах на гитхабе.

menangen ★★★★★
()
Ответ на: комментарий от menangen

То, что xml избыточен, хорошо для бизнеса. И в случае частичной потери данных. И вообще «JSON > XML» - это вкусовщина.

А спринг уже не имеет никаких плюсов, которых бы не было в других open-source проектах на гитхабе.

На го уже перешел?

anonymous
()
Ответ на: комментарий от menangen

В спринге нет ничего, чего не было у лисперов, эмельщиков и смалтакеров.

Аспектно-ориентированное программирование вон из лиспамирка вышло, DI было для ML модулей, и т.д

anonymous
()

Когда-то распечатывал и читал их reference (особенно рекомендую главу про beans, т.к. основы и mvc, если будете под веб писать) плюс по статьям.

php-coder ★★★★★
()
Ответ на: комментарий от ii8_

Спасибо заранее, завтра поищу, в случае неуспеха обращусь. Сегодня не могу оторваться на поиски, зачитываюсь сорцами ЛОРа. Спринг и там, оказывается, повсюду.

bytecode ★★
() автор топика
Ответ на: комментарий от stevejobs

http://docs.oracle.com/javaee/6/tutorial/doc/
В jee6 есть из коробки большая часть функциональности Spring.
https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is Вам в какой конкретно области нужно указать замену? Приведите пример что вы хотите программировать.

menangen ★★★★★
()
Ответ на: комментарий от ii8_

Ага, мы заметили, что твоей биологической бабкой была Ванга. Молодец, можешь взять пирожок с полки :)

menangen ★★★★★
()
Ответ на: комментарий от anonymous

Для какого бизнеса? Продажи органов? Бизнес работает по эффективным стратегиям. Писать XML не эффективно. Эффективно писать мало, а делать много. Дело не вкуса, а времени. На Go не перешёл. Перешёл на D (vibe.d), nodejs, swift с Си. Ну, и питон само собой - лучшая замена java. Пишется быстро, пишется меньше кода 1:12, работает по скорости также, расширения на Си пишутся за неделю, работает стабильно и кроссплатформенно.

menangen ★★★★★
()
Ответ на: комментарий от menangen

Ajax (желательно человеческий типа jQuery а не прибитое гвоздями к фреймворку говно), singlepage, restful frontend, persistent middle/backend, NoSQL и Big Data (естественно с маппингом на java-классы или какие-то еще классы), transparent clustering с ручным управлением архитектурой. Короче, обычные требования для современного веба.

Желательно XML, чтобы можно было в одном проекте использовать сразу несколько языков программирования, используя XML как metadata (который вдобавок еще и удобно машинно генерить - кто пытался генерить и потом парсить аннотации поймет) и Java как основной/промежуточный язык кода.

В jee6 есть из коробки большая часть функциональности Spring.

то есть в Spring (во всей Spring Platform и Hibernate) таки функциональности больше. Так зачем же нам JEE?

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Тут скорее вопрос, зачем тащить spring и изучать его, если всё есть из коробки. Сама java самодостаточна. BigData - можно чуть конкретнее? Хранение в облаке? Или обработка? Какого типа хранилище и данные?

menangen ★★★★★
()
Ответ на: комментарий от ii8_

Прошу пардону, помощь видимо всё-таки понадобится. Не нашел в годном качестве а главное, никто не раздает. Почта у меня указана в профиле. Спасибо заранее.

bytecode ★★
() автор топика
Ответ на: комментарий от stevejobs

Вобщем, почитав подробнее про Play 2 - можно с уверенностью сказать - подходит полностью к твоим запросам. Это если нужен framework, а так, есть отдельные библиотеки к NOSQL / Amazon Computing, etc. и микро-фреймворки на java по типу:
https://github.com/perwendel/spark
Лично мне Play2 не очень нравится только по причине громоздкости, я за Scala/Groovy (Grails в частности).

menangen ★★★★★
()
Ответ на: комментарий от ii8_

Ну а что, python сейчас прекрасно работает и на JVM, .NET, так же быстр, может вызывать, наследовать классы Java и пр. хрень. GUI компонентов полно, тот же Qt.

menangen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.