[Coding Examples]- Java + Hibernate + Spring
O projeto LearnToImplement feito em Java será um sistema de gerenciamento pessoas (bem genérico). O objetivo principal deste projeto é mostrar como é possível implementar uma aplicação simples e as configurações necessárias para integrar as tecnologias: JavaEE + hibernate + JSP + Spring.
Qual tecnologia foi utilizada para construir este sistema?
Para construir este exemplo utilizamos:
Como rodar o exemplo?
Primeiramente faça o download do projeto no nosso github. Antes de qualquer coisa, certifique-se que você possui o MySQL instalado e crie uma base de dados com o nome "learntoimplementspring". Se você já possui o Netbeans e o tomcat instalado somente adicionar o projeto ao netbeans e executa-lo já subirá o servidor e conectará ao banco de dados.
Não se esqueça de mudar as credencias do banco de dados no arquivo: JpaConfiguration.
O que eu gostei/não gostei na tecnologia utilizada?
O maven gerencia as bibliotecas bem, no entanto existem problemas de conflitos entre o netbeans e o maven que causam erros. O Spring possui muitas annotations e saber o que cada uma delas significa é bastante complicado. O spring permite o gerenciamento dos Entity managers dentro de sua biblioteca, não é necessário adicionar o EJB.
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
public class JpaConfiguration {
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
LocalContainerEntityManagerFactoryBean factoryBean
= new LocalContainerEntityManagerFactoryBean();
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUsername("root");
dataSource.setPassword("suasenha");
dataSource.setUrl("jdbc:mysql://localhost:3306/learntoimplementspring");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
factoryBean.setDataSource(dataSource);
factoryBean.setJpaVendorAdapter(vendorAdapter);
Properties props = new Properties();
props.setProperty("hibernate.dialect",
"org.hibernate.dialect.MySQL5Dialect");
props.setProperty("hibernate.show_sql", "true");
props.setProperty("hibernate.hbm2ddl.auto", "update");
factoryBean.setJpaProperties(props);
return factoryBean;
}
@Bean
public JpaTransactionManager transactionManager(EntityManagerFactory emf){
return new JpaTransactionManager(emf);
}
}
Quer saber como funciona passo a passo?
Post a Comment