Начиная проект с весны 3 - PullRequest
       31

Начиная проект с весны 3

5 голосов
/ 26 апреля 2011

На работе у нас есть проект (большой ... 1-2 года вперед с дюжиной человек в команде), который скоро начнется, и «старшие» рассматривают Spring 3 в качестве веб-фреймворка (маркетинггорячий воздух ... что угодно).

Это не тривиальное веб-приложение, и у нас нет опыта работы со Spring 3 (хотя у нас уже есть опыт работы со Spring 2 ... но мы незначит эксперты).Мы должны изучить Spring 3 и начать кодирование.

Но у меня такое ощущение, что у нас будут тяжелые времена.

Весна 3 ГА существует около года или около того, и книги, похоже, еще не догнали.Существует Pro Spring 3 и третье издание Spring в действии, которое я обнаружил до сих пор, охватывающее Spring 3. Онлайн-учебники не очень сложны, и, похоже, ссылка - это все, что у нас есть как прочная основа (что является кратким описанием).документ).

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

Я обращаюсь к вашему опыту.Вы создали большие проекты с помощью Spring 3?С какими проблемами вы столкнулись?

Ответы [ 4 ]

7 голосов
/ 26 апреля 2011

Весна 3 не на расстоянии миллиона световых лет от весны 2 / 2.5. Если у вас есть некоторый опыт работы с пружиной и пружиной MVC, то сделайте это.

Но имейте в виду, что Spring MVC - это не лучший веб-фреймворк. Это просто продвигает те же старые концепции немного дальше.

Если вы хотите что-то, что было сделано с идеей веб-сайтов, попробуйте Scala Lift, JRuby + Rails или PlayFramework. Я не говорю, что вы должны кодировать все в scala или Ruby, но проверьте, дают ли эти фреймворки преимущество в веб-части, и используйте любую технологию Java (например, Spring IOC) для построения своей логики.

Кроме того, если Архитекторы этого приложения хотят безопасности по сравнению с возможной быстрой доставкой, Spring 3 является хорошим выбором.

Одним из недостатков SpringMVC (используется с JSP или JSTL) является то, что он не является действительно компонентно-ориентированной средой, поэтому он не идеален для сложных, богатых клиентов.

В качестве дополнительного примечания я использую Spring 3 + MVC на небольшом веб-сайте с довольно большой обработкой бэкэнда, и я очень доволен этим.

2 голосов
/ 27 апреля 2011

Я бы предложил вам проверить Spring Roo: http://www.springsource.org/roo и стс: http://www.springsource.com/products/springsource-tool-suite-download

С помощью этих инструментов вы можете сгенерировать приложение в течение 10 минут, буквально, со слоем доступа к базе данных с богатыми объектами домена, обратным образом спроектированными из вашей базы данных, авторизацией и аутентификацией (Spring Security), слоем веб-интерфейса (различные опции), ведением журнала. Вероятно, он не будет соответствовать вашим потребностям, но это отличный вариант, чтобы на самом деле увидеть, как должно выглядеть приложение Spring 3. (В STS есть опция рефакторинга, называемая рефактором «push-in», который позволяет вам избавиться от Roo после генерации вашего скелета)

Также отличным источником информации является канал YouTube SpringSource: http://www.youtube.com/user/SpringSourceDev

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

1 голос
/ 26 апреля 2011

Я использую Spring 3 в своих проектах.Концептуально он не сильно отличается от 2 / 2.5, и в то же время добавляет множество ярлыков для достижения того же качества с меньшим количеством XML (и кода).

В Spring мне не нравится то, чтоИмена классов / интерфейсы / пакеты выглядят как эссе для меня: org.springframework.somemodule.somethingmorespecififc.FooSomethingWithBlahContextInBar

Также, если вы не используете Maven и пытаетесь включить jar вручную, вы обречены.Тем не менее, большие проекты должны использовать maven:)

Тем не менее, Spring Ioc является отличным выбором для приложений любого размера.Я не большой поклонник Spring MVC, хотя и до сих пор никогда не использовал его в проекте.Но большинство веб-фреймворков java отстой.

В Spring конфигурация приложения очень проста, например, настройка DataSource (пул соединений), EntityManager и т. Д. Интеграция с различными фреймворками также намного проще, например, Struts2, Hibernate (JPA), Velocity./ Freemarker.LDAP (и Active Directory) через Spring LDAP - это круто (мы его используем).

и, наконец, сама безопасность Spring может быть единственной причиной использования Spring в большом проекте.

ВыВы можете выстрелить в пружину 3, используя appfuse почти мгновенно.

0 голосов
/ 26 апреля 2011

Это зависит от того, как вы определяете «большой проект».Тем не менее, я использую Spring в течение многих лет;Spring 3 - это первая серьезная ревизия, в которой действительно запустил Spring как простой в использовании фреймворк, от которого я был рад получить какую-либо зависимость.

Spring 2.5 был скачком вправильное направление, но весна 3 является серьезным улучшением.С Spring MVC все в порядке;это не фантастическое ИМО, но оно исправно.

Но что касается самого Spring 3, у меня не было бы никаких сомнений в отношении его использования в качестве технологической платформы, хотя вам следует подумать, доверяете ли вы SpringSource / VMWare.(Тем не менее, у меня нет никаких оснований говорить НЕ доверять SpringSource, хотя их понимание OSGi и облачных вычислений ... странно.)

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

...