Aprovado pela equipe da primavera, este repositório é um bifurcação dos projetos de primavera/Spring-PetClinic. Ele permite que a comunidade da primavera mantenha uma versão petclinic com uma configuração de estrutura de primavera antiga e com uma arquitetura de três camadas (ou seja, apresentação-> serviço-> repositório). A implementação "canônica" agora é baseada na inicialização da primavera, no domínio timyledeaf e orientado a agregado.
Veja a apresentação aqui (atualização de 2017)
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
cd spring-framework-petclinic
./mvnw jetty:run-war
# For Windows : ./mvnw.cmd jetty:run-war
docker run -p 8080:8080 springcommunity/spring-framework-petclinic
Você pode acessar o PetClinic aqui: http: // localhost: 8080/
Nosso problema está disponível aqui: https://github.com/spring-petclinic/spring-framework-petclinic/issues
Em sua configuração padrão, a PetClinic usa um banco de dados em memória (H2) que é preenchido na inicialização com dados.
Uma configuração semelhante é fornecida para MySQL e PostgreSQL, caso seja necessária uma configuração persistente de banco de dados. Para executar o PetClinic localmente usando o banco de dados persistente, é necessário executar com o perfil definido no arquivo POM.xml principal.
Para o banco de dados MySQL, é necessário executar com o perfil 'MySQL' definido no arquivo POM.XML principal.
./mvnw jetty:run-war -P MySQL
Antes de fazer isso, seria bom verificar as propriedades definidas no perfil MySQL dentro do arquivo pom.xml.
<properties>
<jpa.database>MYSQL</jpa.database>
<jdbc.driverClassName>com.mysql.cj.jdbc.Driver</jdbc.driverClassName>
<jdbc.url>jdbc:mysql://localhost:3306/petclinic?useUnicode=true</jdbc.url>
<jdbc.username>petclinic</jdbc.username>
<jdbc.password>petclinic</jdbc.password>
</properties>
Você pode iniciar o MySQL localmente com qualquer instalador que funcione para o seu sistema operacional ou com o Docker:
docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:5.7.8
Para o banco de dados PostgreSQL, é necessário executar com o perfil 'PostgreSQL' definido no arquivo POM.XML principal.
./mvnw jetty:run-war -P PostgreSQL
Antes de fazer isso, seria bom verificar as propriedades definidas no perfil PostgreSQL dentro do arquivo pom.xml.
<properties>
<jpa.database>POSTGRESQL</jpa.database>
<jdbc.driverClassName>org.postgresql.Driver</jdbc.driverClassName>
<jdbc.url>jdbc:postgresql://localhost:5432/petclinic</jdbc.url>
<jdbc.username>postgres</jdbc.username>
<jdbc.password>petclinic</jdbc.password>
</properties>
Você também pode começar o PostGresql localmente com qualquer instalador que funcione para o seu sistema operacional ou com o Docker:
docker run --name postgres-petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 -d postgres:9.6.0
A camada de persistência tem 3 implementações disponíveis: JPA (padrão), JDBC e Spring Data JPA. A implementação JPA padrão pode ser alterada usando um perfil de mola: jdbc , spring-data-jpa e jpa .
Como exemplo, você pode usar as opções -Dspring.profiles.active=jdbc VM para iniciar o aplicativo com a implementação JDBC.
./mvnw jetty:run-war -Dspring.profiles.active=jdbc
Existe um petclinic.css em src/main/webapp/resources/resources/css . Foi gerado a partir da fonte petclinic.scss , combinada com a Biblioteca de Bootstrap. Se você fizer alterações no scss ou atualizar o bootstrap, precisará recompensar os recursos CSS usando o perfil do Maven "CSS", ou seja ./mvnw generate-resources -P css .
Os seguintes itens devem ser instalados em seu sistema:
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
File -> Import -> Maven -> Existing Maven project
Em seguida, crie a linha de comando ./mvnw generate-resources ou usando o lançador Eclipse (clique com o botão direito do mouse e Run As -> Maven install ) para gerar o CSS. Configure um jetty ou um contêiner da Web Tomcat e implante o arquivo spring-petclinic.war .
No menu principal, selecione File > Open e selecione PetClinic Pom.xml. Clique no botão Open .
Os arquivos CSS são gerados a partir da construção do Maven. Você pode construí-los na linha de comando ./mvnw generate-resources ou clique com o botão direito do mouse no projeto spring-petclinic e depois Maven -> Generates sources and Update Folders .
Vá para a Run -> Edit Configuration e configure um Tomcat ou um contêiner da Web Jetty. Implante o arquivo spring-petclinic.war . Execute o aplicativo clicando no ícone Run .
Visite http: // localhost: 8080 no seu navegador.
Os seguintes itens devem ser instalados em seu sistema:
| Config java | |
|---|---|
| Java Config Branch | O PetClinic usa a configuração XML por padrão. Caso você queira usar a configuração Java, há uma filial de configuração Java disponível aqui |
| Dentro da camada 'web' | Arquivos |
|---|---|
| Spring MVC - Integração XML | MVC-view-config.xml |
| Spring MVC - ContentNegoTiatingViewResolver | MVC-view-config.xml |
| JSP Tags personalizadas | Web-inf/tags, createorupdatewnerform.jsp |
| Javascript Dependências | As bibliotecas JavaScript são declaradas como webjars no pom.xml |
| Config de recursos estáticos | Mapeamento de recursos na configuração da primavera |
| Uso de recursos estáticos | htmlheader.tag, Footer.tag |
| Tommeleaf | No final de 2016, o petclinic original da primavera mudou de JSP para Thymeleaf. |
| Camadas de 'serviço' e 'repositório' | Arquivos |
|---|---|
| Transações | Business-Config.xml, ClinicServiceImpl.java |
| Cache | Tools-config.xml, clinicserviceImpl.java |
| Perfis de feijão | Business-Config.xml, ClinicServiceJDBCTests.java, PetClinicinitializer.java |
| JDBC | Business-config.xml, pasta JDBC |
| JPA | Business-config.xml, pasta jpa |
| Dados da primavera JPA | Business-config.xml, pasta SpringDatajpa |
Este aplicativo usa o Google Jib para criar uma imagem otimizada do Docker no repositório do Docker Hub. O POM.XML foi configurado para publicar a imagem com o nome da imagem springcommunity/spring-framework-petclinic .
O JIB contém esse projeto de guerra usando o jetty distraído como uma imagem base.
Construa e empurre a imagem do contêiner de PetClinic para o Docker Hub Registry:
mvn jib:build
A filial mestre da primavera PetClinic, no principal, o Github Org, principal, é a implementação "canônica", atualmente baseada na bota da primavera e no ThymEleaf.
Este projeto-PetClinic de quadro de primavera é um dos vários garfos hospedados em uma org de github especial: Spring-PetClinic. Se você tem um interesse especial em uma pilha de tecnologia diferente que pode ser usada para implementar a clínica de estimação, junte -se à comunidade lá.
Uma das melhores partes sobre o trabalho na aplicação da primavera PetClinic é que temos a oportunidade de trabalhar em contato direto com muitos projetos de código aberto. Encontramos alguns bugs/melhorias sugeridas em vários tópicos, como primavera, dados da primavera, validação de feijão e até eclipse! Em muitos casos, eles foram corrigidos/implementados em apenas alguns dias. Aqui está uma lista deles:
| Nome | Emitir |
|---|---|
| Spring JDBC: Simplifique o uso de nome deparameterjdbctemplate | SPR-10256 e SPR-10257 |
| Validação de Bean / Validador de Hibernato: Simplifique as dependências do Maven e a compatibilidade com versões anteriores | HV-790 e HV-792 |
| Dados da mola: forneça mais flexibilidade ao trabalhar com consultas JPQL | Datajpa-292 |
| Dandelion: Melhora o Filter Dandelionion para suporte a cais | 113 |
O rastreador de problemas é o canal preferido para relatórios de bugs, solicitações de recursos e envio de solicitações de tração.
Para solicitações de tração, as preferências do editor estão disponíveis na configuração do editor para facilitar o uso em editores de texto comuns. Leia mais e faça o download dos plugins em http://editorconfig.org.