Настройка файла pom.xml в Maven

Давайте заглянем внутрь pom файла и разберемся с настройкой метаданных проекта в нем.

4.0.0 com.MavenWebAps firstMavenWebAp 0.0.1-SNAPSHOT jar firstMavenWebAp Maven Webapp http://maven.apache.org UTF-8 1.8 1.8 junit junit 3.8.1 test

Включение зависимостей в проект.

Давайте же теперь разберемся с самым главным – как включать зависимости в наш проект.

4.0.0 com.MavenWebAp firstMavenWebAp 0.0.1-SNAPSHOT jar firstMavenWebAp Maven Webapp http://maven.apache.org UTF-8 1.8 1.8 junit junit 3.8.1 test org.springframework spring-webmvc 5.0.2.RELEASE javax.servlet javax.servlet-api 4.0.0 javax.servlet.jsp javax.servlet.jsp-api 2.3.3 javax.servlet jstl 1.2

Использование плагинов.

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

4.0.0 com.MavenWebAp firstMavenWebAp 0.0.1-SNAPSHOT jar firstMavenWebAp Maven Webapp http://maven.apache.org UTF-8 1.8 1.8 junit junit 3.8.1 test org.springframework spring-webmvc 5.0.2.RELEASE javax.servlet javax.servlet-api 4.0.0 javax.servlet.jsp javax.servlet.jsp-api 2.3.3 javax.servlet jstl 1.2 firstMavenWebProject org.apache.maven.plugins maven-war-plugin 3.4.0 resourcedir

Сторонние репозитории

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

4.0.0 com.MavenWebApS firstMavenWebAp 0.0.1-SNAPSHOT jar firstMavenWebAp Maven Webapp http://maven.apache.org UTF-8 1.8 1.8 junit junit 3.8.1 test org.springframework spring-webmvc 5.0.2.RELEASE javax.servlet javax.servlet-api 4.0.0 javax.servlet.jsp javax.servlet.jsp-api 2.3.3 javax.servlet jstl 1.2 org.xwiki.platform xwiki-platform-oldcore 15.7-rc-1 org.xwiki.platform xwiki-platform-oldcore https://maven.xwiki.org/releases/ firstMavenWebAp org.apache.maven.plugins maven-war-plugin 3.4.0 resourcedir

Коррективы в проекте

Давайте удалим файл web.xml, чтобы теперь настраивать приложение в Java классе MySpringMvcDispServlInit вместо web.xml. Также добавим Java класс для настройки бинов вместо applicationContext.xml.

Также создадим сконфигурированную нами ранее дополнительную папку ресурсов resourcedir.

Заметьте, что директории в папке java названы как groupid и artifactid в pom файле, а после папки с названием artifactid (в нашем случае firstMavenWebApp), уже специфические папки с исходниками – config, controller и т.д. Так желательно называть, как говорилось ранее.

Также, как видим, создана страница somePage, к которой будет происходить переход через SimpleController.java.


Применение изменений в pom файле

Чтобы изменения в pom файле вступили в силу в нашем проекте, то есть скачались и добавились в наш проект все зависимости, плагины и применились другие настройки сборки, нужно нажать:

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


Настройка DispatcherServlet

Давайте настроим Java версию web.xml. Настроим DispatcherServlet подобным образом, как мы это делали в web.xml:

package com.mavenwebapps.firstMavenWebAp.config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; //Этот класс вместо web.xml. Здесь конфигурируем //DispatcherServlet как мы это делали в web.xml //только Java кодом. public class MySpringMvcDispServlInit extends AbstractAnnotationConfigDispatcherServletInitializer { //Для этого переопределяем методы класса с названием //AbstractAnnotationConfigDispatcherServletInitializer. //Пишем вот такой метод) @Override protected Class[] getRootConfigClasses() { return null; } @Override protected Class[] getServletConfigClasses() { //Помним что в web.xml мы указывали параметром //сервлету имя файла конфигурации бинов. //Здесь тоже передаем имя этого файла //только в данном случае как показано ниже. return new Class[] { JavaSpringConfig.class }; } @Override protected String[] getServletMappings() { //И также как и в web.xml задаем путь по которому //происходит переход к DispatcherServlet. //”/” значит по корневому пути, то есть по пути //http://localhost:8080/firstMavenWebProject/ return new String[] { “/” }; } }

Настройка applicationContext

Давайте теперь в файлике для настройки спринг, как мы уже делали это раньше, настроим путь к директории, в которой будут искаться классы с аннотациями по которым будут создаваться бины, то есть путь com.MavenWebAps.firstMavenWebAp.

Здесь же настроим путь к папке с View. Это мы уже тоже делали раньше.

package com.MavenWebAps.firstMavenWebAp.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.view.InternalResourceViewResolver; //Это класс конфигурации спринг бинов //вместо applicationContext.xml. @Configuration @EnableWebMvc @ComponentScan(basePackages =”com.MavenWebAps.firstMavenWebAp”) public class JavaSpringConfig { //Здесь также как мы делали в xml создаем бин, //который определяет путь к вьюхам. @Bean public ViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix(“/WEB-INF/jsp/”); viewResolver.setSuffix(“.jsp”); return viewResolver; } } //То есть в нашем проекте не осталось xml ВООБЩЕ.

Настройка контроллера

Создадим контроллер, в котором определим, что по корневому пути, то есть по http://localhost:8080/firstMavenWebAp/, будет происходить переход к somePage.jsp

package com.MavenWebApps.firstMavenWebApp.controller; import org.springframework.stereotype.Controller; @Controller public class SimpleController { @GetMapping(“/”) public String goSomePage() { return “somePage”; } }

Проверка работы приложения

После этого запускаем приложение стандартным образом и видим содержимое somePage.jsp:

Создание CRUD-приложения с Hibernate и Spring

Пошаговое руководство по созданию CRUD-приложения на Spring и Hibernate. Изучите работу с DAO, контроллерами и основные операции с базой данных.
Time to read: 22

Hibernate CRUD приложение с сервисным уровнем

Узнайте, как создать CRUD-приложение на Hibernate с сервисным слоем. Разберитесь с DAO, контроллерами и важностью слабой связности в Spring-приложениях.
Time to read: 23

Что такое REST API?

REST API — стандарт обмена данными между приложениями через HTTP. Форматы JSON/XML, принципы работы, примеры API Facebook и тестирование запросов.
Time to read: 21