Вопросы, связанные с фреймворком Java EE Spring

Хорошо, это длинно и имеет много глупых вопросов, потому что я тупой новичок.

Я один разработчик, работающий над проектом (Java Web App), и я относительно новичок в Java. Я еще новичок в Spring framework. Мне удалось написать небольшой проект, который использует один сервлет и несколько jsp для аутентификации пользователей в базе данных и перенаправляет их либо на страницу приветствия, либо на страницу ошибок на основе учетных данных для входа. Я добрался до этого момента, но это, конечно, только начало того, что будет делать это приложение. Самое главное, я не использую Spring.

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

http://spring.io/guides/gs/serving-web-content/

чтобы немного поучиться. Я быстро понял, что все их примеры включают сценарии Maven или Gradle для зависимостей и сборки. Итак, я подумал: о нет, теперь мне нужно узнать об одном из этих инструментов сборки, если мне нужно использовать среду Spring? Итак, с моими ограниченными знаниями и чтением, я выбрал Gradle, когда начал понимать, что это инструмент сборки последнего поколения в линейке Ant-> Maven-> Gradle. Итак, я подумал, что Gradle — это то, во что я должен инвестировать свое время.

В любом случае, когда я начал работать над учебником по Spring выше, я быстро понял, что они делают это в командной строке, а не в IDE. Это смутило меня еще больше, потому что я подумал, зачем кому-то использовать командную строку в современном мире, полном многофункциональных IDE. У меня уже был установлен Eclipse (обычная ваниль + Spring Tool Suite), поэтому я подумал, что вместо этого сделаю это на Eclipse. Вот где мое замешательство взлетело до небес.

Во-первых, я не мог понять, с какого шаблона проекта начать. Должен ли это быть «Динамический веб-проект»? Нет, подождите, это должен быть какой-то шаблон Spring, верно? В противном случае, зачем мне утруждать себя добавлением Spring Tool Suite и получением всех этих новых шаблонов? Итак, я выбрал шаблон Spring. Я быстро понял, что у меня также есть возможность импортировать учебник Spring MVC, который я делал, в Eclipse. Итак, я сделал это. Еще больше путаницы, теперь я понял, что если я щелкну правой кнопкой мыши импортированный пример проекта, в меню «Запуск от имени» больше не будет параметра «Запустить на сервере». Я подумал, почему это пропало? Я, должно быть, выбрал неправильный шаблон проекта. Но подождите, я не мог выбрать неправильный шаблон, потому что я импортировал весь проект с веб-сайта Spring. О, чувак, у меня болит голова. Немного подумав, я вспомнил... о, да, они говорили о Gradle, и я уже скачал его и установил для него переменную среды Path, поэтому я буду использовать Gradle для сборки и запуска этого проекта. Итак, как мне вызвать Gradle из Elipse? Дальнейшее чтение сказало мне, что у меня должна быть интеграция с Eclipse Gradle. Поэтому я загрузил этот плагин в eclipse. Теперь в меню правой кнопки мыши у меня есть опции «Gradle» и «Gradle...», но до сих пор нет «Запустить на сервере». Чувак, почему это так сложно? Я новичок, просто пытаюсь запустить учебный проект Spring MVC. Во всяком случае, я выбрал «Gradle» из опции «запустить от имени» и увидел, что Gradle выводит кучу вещей в консоль Eclipse, например, при запуске контейнера встроенного сервлета и других хороших вещей. Но я не вижу ничего другого. Я ожидал, что встроенный веб-браузер Eclipse покажет мне «Hello world». Но подождите, это не веб-проект, потому что в его иерархии нет папки Web-Inf, так зачем мне видеть браузер... хорошо, но я также не вижу "hello world" в консоли? Где работает проект? Ахаха... наконец, я запустил свой собственный браузер Chrome и указал ему URL-адрес локального хоста, и, слава Богу, я увидел "hello world".

Мне потребовалось два с половиной дня игры, чтобы понять все до этого момента. Как видите, мое понимание этих вещей находится в зачаточном состоянии, и мне нужны ответы на некоторые вопросы. Если я хочу создать веб-приложение Java, и я единственный разработчик:

  1. Нужен ли мне инструмент для сборки? Я думал, что это для команд.
  2. Если да, то с Gradle все в порядке?
  3. С какого шаблона Eclipse начать?
  4. Некоторые другие учебные пособия по Spring MVC, которые я видел в Интернете, например, из tutorialspoint, включают jsp и основаны на Интернете (а не просто в командной строке). Эти учебные пособия просят вас в какой-то момент импортировать некоторые банки (Spring и связанные с ними банки, такие как журнал общих ресурсов) в проект. Откуда эти ребята узнают, какой из пружинных кувшинов им нужен? Это из опыта или есть другой источник этих знаний? Я думал, что это управление зависимостями - это то, где возникает вся потребность в инструменте сборки, и это то, что Gradle будет обрабатывать для меня, не говоря уже о том, что я еще не знаю, как попросить Gradle сделать это.
  5. Как только я запускаю проект и постепенно начинаю использовать Spring, как мне узнать, какие дополнительные jar-файлы мне нужны в определенные моменты?

Спасибо, что дочитали до этой строки, и спасибо за вашу помощь.


person Community    schedule 27.04.2014    source источник


Ответы (1)


Нужен ли мне инструмент для сборки? Я думал, что это для команд.

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

вы сказали, что вы единственный разработчик, поэтому инструмент сборки — это просто накладные расходы.

Если да, то с Gradle все в порядке?

Ok.

С какого шаблона Eclipse начать?

Динамический веб-проект.

Некоторые другие учебные пособия по Spring MVC.... Как эти ребята узнают, какие из пружинных банок им нужны?.....

Что ж, когда вы собираетесь разрабатывать веб-приложение с помощью Spring, вам нужно иметь файлы jar, такие как: spring-core.jar, spring-web.jar, spring-webmvc.jar и т. д. То же самое, когда вам нужна любая структура ORM, такая как hibernate. затем вам нужно добавить JAR-файлы, связанные с гибернацией, в путь сборки проекта. Когда вы пройдете некоторые учебные пособия, они будут перечислены, например, что такое jar или зависимости, которые вам нужно добавить.

Как только я запускаю проект и постепенно начинаю использовать Spring, как мне узнать, какие дополнительные jar-файлы мне нужны в определенные моменты?

Это зависит от вас, какие фреймворки вам нужно использовать в дальнейшем в вашем приложении, тогда вы должны сделать доступными все зависимости (jar-файлы) фреймворка для пути сборки вашего проекта.

person Abhishek Nayak    schedule 27.04.2014
comment
Большое спасибо за все ваши ответы. Я очень ценю то, что вы направляете меня. - person ; 03.05.2014