Я изучаю использование веб-фреймворков с моим веб-приложением на Java. Моими основными требованиями являются простота обслуживания, тестируемость и отсутствие повторений.
Я исследовал написание своего собственного приложения типа MVC, используя какой-то шаблон фронт-контроллера и JSP для представлений. Преимущество этого заключается в том, что у меня есть полный контроль над всеми аспектами моего веб-приложения, и если я правильно его спроектирую, не составит труда перенести его в более проверенную среду в будущем, если я этого захочу. Однако дело в том, что мне нужно, так сказать, изобретать велосипед.
Я слышал хорошие новости о доступных в настоящее время веб-фреймворках. Некоторые технологии, на которые я смотрю, это Spring, Wicket, Struts, Guice, Hibernate и Tapestry.
Я немного опасаюсь гобеленов и калиток. Я не знаю слишком много о них, но они, кажется, отклоняются от формулы сервлета-> модели jsp-> вида. Я не уверен, что мне это удобно. Хотя я слышал, что на самом деле Wicket лучше всего подходит для Guice и очень тестируем.
Похоже, что Spring может подойти, но я очень осторожен с фреймворками, которые пытаются все. Я хотел бы использовать Spring-MVC, но я могу поменять местами другие компоненты? Могу ли я, например, использовать Guice в качестве движка DI при использовании Spring-MVC в качестве фреймворка?
Я кратко рассмотрел Struts, но он кажется слишком сложным для моих нужд и, опять же, кажется полным пакетом.
Я никогда не использовал Hibernate, но он, кажется, является стандартом для ORM, и если это что-то вроде ActiveRecord (с которым я столкнулся лишь немного), я уверен, что он соответствует моим потребностям.
Я также никогда не использовал Guice, но людям это действительно нравится, и я вообще фанат DI, хотя я не уверен, как он используется в реальных приложениях.
По сути, я действительно уверен в написании Servlets / JSP. Я не против изучения альтернативных технологий, но я ищу совет относительно того, какие из них действительно дадут мне пользу.
Если я могу создать приложение MVC с использованием сервлетов и JSP, стоит ли включать Spring? Или мне просто использовать Servlets / JSP и использовать DI-движок, такой как Guice?
Я почти уверен, что хотел бы использовать Hibernate для ORM, но я слышал, что это может быть довольно сложно. Все, что я действительно ищу, - это способ сопоставить мои POJO с базой данных, поэтому, если есть что-то лучшее / более простое в использовании, я готов это найти.
Я чувствую себя потерянным и ищу направление от людей, хорошо осведомленных в этой области, и любые мнения по любому из этих вопросов были бы очень благодарны. Спасибо!