Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

1. Crie um projeto

Abra o 

Project Wizard
span
classshortcut
Wiki Markup
{span:class=shortcut}Project Wizard{span}
 e selecione 
span
classid
 Spring MVC 
 na seção Spring
span
classid
Wiki Markup
{span:class=id} Spring MVC {span}
 na seção 
Wiki Markup
{span:class=id}Spring{span}
. Com o IntelliJ IDEA você pode fazer o deploy de aplicações para o Tomcat, TomEE, Glassfish, JBoss, WebSphere, Jetty, Geronimo, Resin, Cloud Foundry e CloudBees.


Clique em

Next
span
classid
Wiki Markup
{span:class=id}Next{span}
e na próxima janela selecione Create project from template
span
classid
Wiki Markup
{span:class=id}Create project from template{span}
e avance.

 
Altere o nome do projeto em 

Project name
span
classid
Wiki Markup
{span:class=id}Project name{span}
span
classid
Project location
 e Base package
span
classid
Wiki Markup
{span:class=id}Project location{span}
 e 
Wiki Markup
{span:class=id}Base package{span}
 se necessário. Se você já configurou o servidor de aplicação, você pode selecioná-lo no campo Application Server
span
classid
Wiki Markup
{span:class=id}Application Server{span}
.

O IDE irá criar um projeto 
span
classid
Wiki Markup
{span:class=id}"Helloworld"{span}
 com um Controller simples e uma View.


O novo projeto vem com o arquivo 

span
classid
Wiki Markup
{span:class=id}pom.xml{span}
 do Maven. Você pode gerenciar dependências de projeto através deste arquivo ou pelo painel Maven
span
classshortcut
Wiki Markup
{span:class=shortcut}Maven{span}
.

Quando você altera as dependências do Maven, o IntelliJ IDEA aplica as mudanças correspondentes ao projeto automaticamente. Você pode checá-las no diálogo 

Project Structure → Modules
span
classshortcut
Wiki Markup
{span:class=shortcut}Project Structure → Modules{span}
.

Além das dependências, o IntelliJ IDEA também importa as definições de artefatos do 

span
classid
Wiki Markup
{span:class=id}pom.xml{span}
. Você pode verificar as configurações de artefatos no diálogo Project Structure → Artifacts
span
classshortcut
Wiki Markup
{span:class=shortcut}Project Structure → Artifacts{span}
.

Os artefatos definem a estrutura do que irá no deploy para o servidor de aplicação quando você clicar em 

Run → Run 'Tomcat
span
classshortcut
Wiki Markup
{span:class=shortcut}Run → Run 'Tomcat 7.0'{span}
.

2. Crie uma configuração de execução

Se você não especificou um 

span
classid
Application server
 no Project Wizard
span
classshortcut
Wiki Markup
{span:class=id}Application server{span}
 no 
Wiki Markup
{span:class=shortcut}Project Wizard{span}
 você pode fazê-lo via Run → Edit
span
classshortcut
Wiki Markup
{span:class=shortcut}Run → Edit Configurations...{span}
.

Não esqueça de especificar os artefatos a enviar no deploy para esta configuração pela aba 

Deployment
span
classshortcut
Wiki Markup
{span:class=shortcut}Deployment{span}
.

Se você configurou pelo menos uma configuração de execução para um servidor de aplicação, o IntelliJ IDEA mostra o painel 

Application Servers
span
classshortcut
Wiki Markup
{span:class=shortcut}Application Servers{span}
 para gerenciar o estado da aplicação no servidor. Você pode ver a lista de servidores de aplicação, iniciá-los ou pará-los, ver as aplicações que já sofreram deploy, gerenciar os artefatos a entregar e gerenciar o estado da aplicação.

...

Assim que os artefatos e configurações estiverem definidos, você pode fazer o deploy da aplicação simplesmente executando-a ou pelo atalho no painel 

Application Servers
span
classshortcut
Wiki Markup
{span:class=shortcut}Application Servers{span}
.

4. Adicione dependências

...

Devemos definir todas essas dependências em nosso arquivo 

span
classid
Wiki Markup
{span:class=id}pom.xml{span}
. O IDE irá fazer o download das bibliotecas correspondentes e adicioná-las ao artefato.
Altere a versão de servelt-api para 3.1.0:

...

Não esqueça de atualizar a tag 

build
span
classid
Wiki Markup
{span:class=id}build{span}
no nó
span
classshortcut
Wiki Markup
{span:class=shortcut}plugins\plugin\configuration{span}
o source e o target para a versão do java que estiver utilizando.

...

Agora vamos definir o arquivo 

span
classid
Wiki Markup
{span:class=id}resources/META-INF/persistence.xml{span}
para inicializar o gerenciador de entidades do Hibernate sobre a JPA.

...

Agora nós devemos registrar o repositório user, uma factory do gerenciador de entidades e um gerenciador de transações no arquivo 

span
classid
Wiki Markup
{span:class=id}webapp/WEB-INF/mvc-dispatcher-servlet.xml{span}
.

Code Block
langxml
<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:jpa="http://www.springframework.org/schema/data/jpa"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
    <context:component-scan base-package="com.springapp.mvc"/>
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <jpa:repositories base-package="com.springapp.mvc"/>
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="defaultPersistenceUnit"/>
    </bean>
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>
    <tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

...

8. Defina o Controller

Vamos renomear 

span
classid
HelloController
para UserController
span
classid
Wiki Markup
{span:class=id}HelloController{span}
para 
Wiki Markup
{span:class=id}UserController{span}
e adicionar o seguinte código:

...

9. Defina a View

Vamos renomear a View 

hello
span
classid
Wiki Markup
{span:class=id}hello{span}
 (e o arquivo 
span
classid
Wiki Markup
{span:class=id}hello.jsp{span}
correspondente) para users
span
classid
Wiki Markup
{span:class=id}users{span}
 (e 
span
classid
Wiki Markup
{span:class=id}users.jsp{span}
, respectivamente). Se você renomear o nome da View a partir de seu uso, o IntelliJ IDEA aplicará as mudanças correspondentes para is arquivos JSP automaticamente.

...

Se você precisar depurar a aplicação, apenas adicione um breakpoint e execute novamente a aplicação em modo de depuração via 

Run → Debug 'Tomcat
span
classshortcut
Wiki Markup
{span:class=shortcut}Run → Debug 'Tomcat 7.0'...{span}
.

12. Adicione API JSON

Finalmente, vamos entregar os usuários criados por JSON implementando este simples método no UserController:

...