isaquebressy

January 8, 2016

[Aprendendo Spring MVC] Configuração

O Spring MVC é um framework que utiliza o padrão MVC para auxiliar no desenvolvimento de aplicações.

Após importar a biblioteca do Spring MVC, devemos declarar no arquivo web.xml a servlet que será o front-controller da aplicação. O front-controller é quem vai receber a requisição e encaminhar para o controlador responsável. O Spring nos fornece essa servlet, chamada DispatcherServlet (org.springframework.web.servlet.DispatcherServlet).

Junto com a declaração da servlet principal do spring, devemos passar como parâmetro o local onde estará a configuração do mesmo. Este parâmetro é o contextConfigLocation e é declarado num <init-param>

Após a declaração da servlet, mapeamos para que ela responda através do padrão de url “/”

Segue abaixo a configuração do web.xml

<servlet>
  <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      /WEB-INF/spring-context.xml
    </param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

Após declarar e mapear nossa servlet principal, devemos configurá-la, através do arquivo declarado no web.xml como contextConfigLocation. No /WEB-INF/spring-context.xml, informaremos ao Spring onde estão as classes para que ele possa escanear e encontrar os controllers da aplicação. Informaremos também o local onde as views estarão. E caso queiramos utilizar anotações, este também é o lugar para informarmos isto.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">

  <context:component-scan base-package="br.com.caelum.contas" />
  <mvc:annotation-driven />

  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
  </bean>
</beans> 

Podemos configurar o Spring sem a utilização de xml. Para isso, é preciso criar uma classe que herda AbstractAnnotationConfigDispatcherServletInitializer e implementar seus métodos getServletMappings() e getServletConfigClasses().


Category: java learning spring-mvc

Tags: framework java mvc


# Back