buisnesslogic | ||
restservice | ||
.gitignore | ||
org.springframework.data.jpa.repository.JpaRepository | ||
pom.xml | ||
README.md | ||
stack.yml |
Start aplikacji
Zeby wystartowac aplikacje backendu najpierw nalezy postawic testowa baze danych na naszym komputerze za pomoca dockera. Jesli raz juz go odpalimy przy nastepnym razem bardzo mozliwe, ze wlaczy sie sam. AAby sprawdzic czy docker jesty wystartowany mozna uzyc docker ps
docker-compose -f stack.yml up
Nastepnie w restservice/src/main/resources/application.properties
nalezy podac ip naszego kontenera.
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.datasource.url=jdbc:mysql://<nasze-ip>:3306/test
spring.datasource.username=root
spring.datasource.password=example
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create
server.port=1285
Bywa, ze te ip sie zmienia np o 1 wiec zeby sprawdzic jakie jest obecne ip robimy docker ps
, ktory nam pokaze wszystkie kontenery na naszym komputerze
np>
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ebff6c560e06 mariadb "docker-entrypoint.s…" 10 days ago Up 18 minutes 3306/tcp backend_db_1
9370827a43fe adminer "entrypoint.sh docke…" 10 days ago Up 18 minutes 0.0.0.0:8080->8080/tcp backend_adminer_1
958c2793699c mongo "docker-entrypoint.s…" 4 weeks ago Up 46 minutes 127.0.0.1:27030->27017/tcp i-par_db_1
I nastepnie wpisujemy te komende ktora nam zwroci ip podanego kontenera
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
W tym przykladzie container_name_or_id
to backend_db_1
Nastepnie
cd restservice
mvn spring-boot:run
Packaging
Zeby spakowac apke do jara
wystarcza dwie komendy
cd restservice
mvn clean package spring-boot:repackage
Utworzony zostanie jar w restservice/target/restservice-1.0-SNAPSHOT.jar
. Oczywiscie zeby jar zadzialal kontenery dockerowe musza byc odpalone (lub baza danych na serwerze jesli zmienialismy propertisy z localhost)
Troubleshooting
Spring chyba cacheuje jakies dane dotyczace polaczenia wiec jesli spring wywali Ci blad Connection Refused
, a wiesz, ze ta baza stoi na podanym ip i porcie to sprobuj
mvn clean
mvn install