Aplicativo da Web de gerenciamento de relacionamento com o cliente
| Características | Línguas e tecnologias | Configuração ambiente | Processo principal | Processo adicional | JSP | Notas |
|---|


Sobre
Um aplicativo Web simples para gerenciar relacionamentos com o cliente, usando MVC de primavera e Hibernate, configurado por XML
Características
- Veja os clientes
- Adicione novo cliente
- Atualize o cliente
- Excluir cliente
- Suporte de log de AOP
Línguas e tecnologias
- Java
- Xml
- Mysql
- Spring MVC
- AOP da primavera
- Hibernado
- Jstl
- JSP
- CSS/JavaScript
Processo de desenvolvimento
Configuração Enviroment
Crie um novo projeto dinâmico da web no eclipse
Crie um banco de dados MySQL no Workbench [Create-Database.SQL]
Importar frascos para a biblioteca: web-inf/lib
- MySQL Connector [URL]
- API JSTL (para JSP) [URL]
- Spring Framework [URL]
- Hibernato (pasta necessária) e C3P0 (pasta opcional) [URL]
- Aspectoj (para AOP) [URL].
Para Java 9+, inclua os seguintes frascos em web-inf/lib
- javax.Activation-1.2.0.Jar
- JAXB-API -2.3.0.JAR
- JAXB-CORE-2.3.0.JAR
- JAXB-IMPL-2.3.0.JAR
Conexão do banco de dados de teste (Project Facets/RunTimes/Tomcat): Crie um servlet [testDatabaseServlet]
Inclua arquivos XML de configuração (mvc e web) na web-inf.
Configure a mola + hibernato em arquivos XML [spring-mvc-crud-demo-servlet.xml]
- Defina namespaces XML e locais de esquema
- Definir conjunto de dados de dados de banco de dados / pool de conexão
- Configurar Hibernate Session Factory
- Gerente de transação de hibernato de configuração
- Ativar a configuração da anotação transicional
- Adicione suporte à leitura de recursos da Web: CSS, imagens, JS, etc.
- Ativar proxy automático de aspecto
Controlador de mola de teste: Crie uma classe de controlador com um método retornar a um novo arquivo JSP na pasta 'View'.
Principal
- Crie a classe do cliente e o mapa para a tabela de banco de dados usando o Hibernate.
- Crie a interface do cliente.
- Crie a classe CustomerDaoimpl com @repository
- Injete a fábrica da sessão com @Autowired
- Implementar métodos
- Obtenha a sessão atual de Hibernate
- Crie uma consulta [org.hibernate.query.query]
- Execute consulta e obtenha lista de resultados
- Resultado de retorno
- Crie interface de serviço
- Crie implementação de serviço com @service
- Injete Dao com @Autowired .
- Implementar métodos com @Transaction .
- Delegado chamadas para Dao.
- Criar/atualizar o CustomerController
- Injete o CustomerService usando @Autowired
- Crie um método de solicitação com @RequestMapping
- Obtenha o resultado do serviço do DAO ou crie um atributo de modelo para vincular dados de formulário [CustomerController]
- Adicione resultado/atributo ao modelo
- Retorne a página JSP
- Crie/atualize páginas JSP
- Adicione suporte para tags de núcleo JSTL:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- Crie a classe de aspecto com @aspect e @component [loggingaspect] [referência]
- Adicione o Logger
- Configuração de declarações pontuais
- Adicione conselhos
Adicional
- Prettify JSP Page com CSS
- Coloque o CSS em uma pasta 'Recursos' no WebContent.
- Configure o Spring para servir a pasta 'Recursos'.
- Referência CSS no JSP.
- Configure arquivos de boas -vindas no XML da primavera para redirecionar da página inicial
- Crie um JSP dentro do WebContent, combine com o nome do arquivo de boas -vindas no XML [index.jsp]
- Redirecionar para um endereço desejado:
<% response.sendRedirect("address"); %>
- Método de solicitação de refattor no controlador usando @getMapping , @PostMapping
JSP
- Suporte para tags de formulário MVC da primavera:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> -
${pageContext.request.contextPath} Retorna o nome do aplicativo adequado no JSP.
Notas
- O pacote para digitalização deve corresponder no arquivo XML de configuração da primavera.
- Pasta 'View' que contém arquivos JSP deve corresponder na configuração da primavera xml arquivo
- Projeto Executar: Escolha o Project Root -> Execute como -> Execute no servidor.
- Use sessionFactory.SaveorUpdate (): Combine Salve () e Update () [CustomerDaoimpl]
- @RequestMapping (Hanlde todos os métodos), @GetMapping , @PostMapping
-
@RequestMapping(path="...", method=RequestMethod.GET) <=> @GetMapping(path="...") - Use "Redirect: maped_method" para redirecionar para um determinado método no controlador em vez da página JSP [CustomerController]
- Use @Transactional [org.springframework] para iniciar e fechar a transação para um método [CustomerDao]
- Use @repository com implementação DAO para lidar com a tradução de exceção.
- Use @service para implementação de serviço.
- Padrão de design de camada de serviço
- Defina @Transaction na camada de serviço em vez de DAO.
- Injete o serviço em vez de DAO no controlador.
- Controlador <-> Camada de serviço <-> dao.
Vá para o topo