Novo livro lançado: JPA Eficaz: As melhores práticas de persistência de dados em Java

Pessoal, bom dia.

É com muita alegria que gostaria de compartilhar que meu novo livro acabou de ser lançado.

JPA Eficaz: As melhores práticas de persistência de dados em Java

JPA-Eficaz-ebook_large

Ele aborda diversos assuntos do JPA, desde os conceitos básicos como analisando o persistence.xml a como fazer controle de concorrência.

Aqui é possível fazer o download de todo o sumário do livro: https://s3.amazonaws.com/casadocodigo/jpa-eficaz/sumario.pdf

São 173 páginas com códigos detalhados, explicações do conceito do JPA com exemplos que se aplicam ao nosso dia a dia.

Uma lista de discussão do livro já foi criada e é livre para qualquer participar: https://groups.google.com/d/forum/jpa-eficaz

Para comprar o livro, basta vir aqui: http://www.casadocodigo.com.br/products/livro-jpa-eficaz

E aguardem que até o final do ano, mais um mini livro de um assunto ainda não detalhado aqui no blog. ;)

My new Book – Effective JPA is out! (portuguese only)

Hello, how are you?

I am very happy to announce that my new book was published today, and it can be found in here: http://www.casadocodigo.com.br/products/livro-jpa-eficaz

JPA-Eficaz-ebook_large

It talks about JPA spec and good practices, BUT Portuguese only. [=

I wish that, before the end of this year, I will be able to write a new post. It is about a subject that was not talked about so detailed in this blog. I hope you guys like it! ;)

See you guys soon! o_

Aplicação Web Completa: Angular Twitter Bootstrap Spring MVC, Data e Security

Olá, tudo bem?

Hoje veremos como fazer uma aplicação Java web completa utilizando Spring, Angular, JQuery, Twitter Bootstrap, Tiles, Maven, Tomcat, JPA/Hibernate.

A aplicação feita neste post será a base do outro post que vou escrever, e por causa disso, será feito um passo a passo mostrando como preparar o ambiente para o projeto visto aqui hoje.  Apesar de utilizar o Linux como meu sistema operacional, pouco ou nada muda com relação às configurações de outros sistemas operacionais.

Diversas pessoas pediram por um post utilizando o Spring em uma aplicação completa, afinal todas as aplicações vistas aqui foram utilizando tecnologia JEE oficial (JSF, EJB, JPA). Neste post veremos uma aplicação utilizando o framework Spring com os seguintes módulos: Spring MVC, Spring Data e Spring Security. Veremos também como fazer internacionalização usando SpringMVC e aplicaremos templates com Tiles.

O banco de dados a ser utilizado é o Postgre, mas para utilizar o MySQL bastaria adicionar o jar o MySQL e alterar o arquivo de configuração ao banco de dados. Durante o post essas configurações que devem ser alteradas para se utilizar o MySQL serão destacadas.

É possível encontrar o código fonte na última página do post e, para agradar a todos, haverão diversos modos para baixar o código fonte. Nesse post veremos mais a parte do código Spring/JPA e alguns trechos das páginas JSP destacando o Angular e o Bootstrap, lembrando que o código completo das JSPs, classes e configurações é possível baixar na última página sem qualquer restrição. [=

O que veremos aqui:

Página 02: Montando ambiente
Página 03: Criando o projeto
Página 04: Entendendo o “pom.xml”, “log4j.xml” e o “context.xml”
Página 05: Criando os XMLS do Spring e da aplicação
Página 06: Tiles – Template de Páginas da Aplicação
Página 07: Criando o Modelo da Aplicação
Página 08: Utilizando o SpringData como Repositório (DAO); criar o Serviço dos Usuários
Página 09: Utilizando o SpringData como Repositório (DAO); criar o Serviço dos Contatos
Página 10: Criando os Controllers
Página 11: Utilizando Restful com SpringMVC
Página 12: Entendendo o Login, SpringMVC Interceptor e as Regras de Segurança
Página 13: Primeiro contato com Angular.js e o SpringMVC
Página 14: Utilizando o binding do Angular.js em um HTML table
Página 15: Internacionalização i18n com Spring
Página 16: Entendendo o papel Twitter Bottstrap
Página 17: Executando a aplicação

Sem mais delongas, vamos começar.

Complete Web Application: Angular Twitter Bootstrap Spring MVC, Data and Security

Hello, how are you?

Today we will see how to create a complete Java web application using Spring, Angular, JQuery, Twitter Bootstrap, Tiles, Maven, Tomcat, JPA/Hibernate.

The project that will be done here in this post will be used in another post that I will write, because of this future post, in this post will be described a detailed environment configuration. I will be using linux as my operational system (OS), but almost nothing will change if you use Windows or other OS.

I received a lot of emails asking for a post using Spring in a full web application, all the applications already posted here were using JEE technology (JSF, EJB, JPA). In this post we will see a project using Spring framework with the following modules: Spring MVC, SpringData e Spring Security. We will see how to do internationalization (i18n) with SpringMVC and templates with Tiles framework.

Postgre will be the database used here, but if you want use it with MySQL just add the MySQL jar to the project and change some configuration. In this post will be displayed both Postgre and MySQL configurations.

It is possible to find the source code of this project in the last page of this post, and to make everybody happy, 3 downloading ways will be available in the end of the post. In this post we will focus in the Spring/JPA code and some of the JPS code highlighting the Angular and Bootstrap libraries, all the JSP code, classes and configurations can be downloaded in the last page.

What we will see in here:

Page 02: Environment Setup
Page 03: Creating the project
Page 04: Understanding the “pom.xml”, “log4j.xml” and the “context.xml” files
Page 05: Creating the Spring and the project XMLs
Page 06: Tiles – Page templates
Page 07: Project Model Classes
Page 08: Using SpringData as Repository (DAO); creating User Service
Page 09: Using SpringData as Repository (DAO); creating Contact Service
Page 10: Creating the Controllers
Page 11: Using Restful approach with SpringMVC
Page 12: Understanding the Login, SpringMVC Interceptor and the Security Rules
Page 13: First Contact with Angular.js and the SpringMVC
Page 14: Using Angular.js bind in a HTML table
Page 15: Internationalization (i18n) with Spring
Page 16: Understanding the Twitter Bootstrap role
Page 17: Running the project

Let us get started!