2009-04-06 2 views
33

Я только начал изучать Struts, и я стараюсь быть продаваемым для хорошей работы в качестве Java-программиста. Следующим моим решением было бы выбрать, что будет дальше, Spring или Hibernate?Что я должен узнать сначала, Spring или Hibernate?

Также у вас есть какие-либо предложения или советы для меня быть хорошими? Заранее спасибо!

ответ

50

Я предлагаю изучить Весну. Изучите только основы, а затем, когда вы получите , сделайте, чтобы изучить Hibernate, вы сможете воспользоваться всеми помощниками Spring, которые упрощают использование Hibernate.

Там же точка, что весна полезно во многих слоев, а не только в части доступа к данным :)

+0

Могу ли я совершить ошибку, если я выбираю спящий режим до обучения весной? Большинство ответов предполагают обучение весне сначала, когда они говорят, что оба являются бесплатными технологиями. – saplingPro

+1

@saplingPro: Да, они дополняют друг друга, но я бы не сказал, что это обязательно * ошибка *, чтобы сначала изучить Hibernate. –

5

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

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

20

Весна и спящий режим - 2 очень бесплатных технологии, и в зависимости от потребностей вы можете использовать оба или ни одного. Но основы обоих этих оснований полагаются на 100% товарно и, что более важно, необходимы для любого опытного профессионала.

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

Недостаточно знаний в обучении Spring без предварительного получения фундаментальных знаний о шаблонах проектирования, инъекции зависимостей и дизайне приложений (как обычно, вам нужно понимать такие вещи, как уровни приложений, зависимости классов и пакетов, MVC (звучит как вы знакомы с этим через Struts), безопасность и веб-стандарты, и, конечно же, основы OOD).

Изучив оба, вы станете, если не товарным, но, по крайней мере, очень солидным профессионалом, который уверен и уверен в работе над большинством приложений Java (а не только Java).

+0

На самом деле то, о чем вы упоминали как предпосылки, я не знаю этих. Похоже, честно. – ajushi

+3

grigory делает некоторые хорошие моменты. Без понимания концепций технологий вы, скорее всего, будете использовать их таким образом, чтобы они не предназначались или не предназначались. Это и популярные рамки, но они не решают всех проблем. Предварительные требования могут быть сложными на 1-м, но они сделают вас лучшим разработчиком. –

+0

Привет, Кевин, как бы вы посоветовали мне попытаться решить эти предпосылки? – ajushi

0

Сначала я изучил спящий режим. Используется groovy, чтобы опробовать различные примеры Hibernate. Затем научился Spring и его поддержка Hibernate. Я думаю, что у меня было действительно интересное путешествие.

Ниже приведен пример приложения Struts + Spring + Hibernate. Struts для front-end, Spring для среднего слоя и JPA/Hibernate для слоя устойчивости.

http://struts.apache.org/2.0.11/docs/struts-2-spring-2-jpa-ajax.html

0

я узнал Hibernate сам по себе, а потом я узнал, как Spring делает его гораздо проще.

2

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

Я бы порекомендовал Spring, потому что он может либо сосуществовать с обеими версиями Struts и Hibernate OR для одного из них (Spring Web MVC и Spring JDBC).

Весна благотворно повлияет на ваши проекты Java EE. Начните с этого.

1

Я бы пошел с весной первым. Весна имеет очень много разных частей, которые полезны: инъекция зависимостей, аспектно-ориентированное программирование, вспомогательные классы JDBC, вся инфраструктура MVC и загружает больше. Вы можете использовать столько же или столько же весны, сколько хотите в своем первом приложении, и эталонная документация действительно превосходна. Вы можете легко узнать Весну, не покупая ни одной книги на ней.

0

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

0

Я думаю, вы должны разделить свой профиль в кратком, чтобы получить лучший ответ

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

IMHO- спящий режим сложнее, чем весной Причиной этого IS-Спринг в силу своей архитектуры является наименее инвазивным к коду Существует мало API для мастера. Итак, чтобы код весной, вам не нужно ничего кодировать за пределами Java. Но для кодирования hibernate вам необходимо знать API-интерфейсы Hibernate и программы chibernate для спящего режима. Основы спящего режима просты в освоении, но для изучения трюков и мелочей - требуется время

Если бы я был менеджером по найму и использовал hibnernate и Spring Я бы предпочел взять кого-то, кто был сильнее на Hibernate, а не кого-то кто был сильнее весной Что касается весны, то вы, как разработчик-программист, немного побеспокоиться о Скорее всего, приложение уже будет иметь фреймворк на месте, и вам придется подключить свои вклады.

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

PS: Я знаю, что у всех есть другая точка зрения на это, поэтому вы, возможно, становитесь более смущенными. Думаю, как только вы разделите немного своего профиля, это поможет людям дать вам лучший совет. Удачи !!!

1

Я бы не пошел на Struts в эти дни .. Если вы уже рассматриваете Spring, вы также должны взглянуть на Spring MVC, особенно с новыми контроллерами на основе аннотаций, с которыми приятно работать.

Я бы посоветовал учиться весне до спящего режима, потому что это намного легче узнать, если вы придерживаетесь ядра и, возможно, WebMVC, что я бы рекомендовал. Весна немного выросла в последних выпусках, но ядро ​​все еще просто и легко понять.

Hibernate намного сложнее. Я бы рекомендовал понять общую цель ORM, например Hibernate, изучить способ аннотации hibernate для настройки спящего режима, а затем перейти прямо к интеграции Spring/Hibernate, потому что это упрощает многое. Если у вашего домена больше, чем несколько базовых типов, вы также можете взглянуть на GenericDAO pattern

0

если вам нужны обе технологии Весна Живая все, что вам нужно. Я начал изучать технологии с нуля:

0

Если цель состоит в том, чтобы изучить структуру MVC и как использовать ORM с этой структурой, то логичным способом обучения является Spring, а затем Hibernate. На мой взгляд, таким образом вы сможете легко понять концепции.

0

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

0

Я думаю, вы узнаете, весна, основы РСУБД, а затем перейти на спящий режим, который будет легко для вас, чтобы узнать ..

Смежные вопросы