There are two different properties files are being used for Dev and Production environment respectively. Major difference between both of them is the type of database used with both of them. Property file ends with "-dev.properties" using H2 or file based database and then the file ends with "-prod.properties" using MYSQL as database.
Running Spring application using dev properties
java -jar -Dspring.profiles.active=dev application.jar
Using Prod properties file
java -jar -Dspring.profiles.active=prod application.jar
Note :- If you running java application using PROD properties using above command then you also need to start the mysql which you can do using below docker command. Or you can use docker-compose file to run both container.
docker run -p 3306:3306 --name venus-mysql -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_DATABASE=venus mysql:latest
To build the container including Spring backend named "beeple" and "mysql" database.
docker-compose build
To run both services in background.
docker-compose up -d
To list down all the running docker containers
docker ps
To stop any docker container. Here container id is the value from the first column of pervious command output.
docker stop container-id
Starting spring applicaiton will initialize the database (intialization can be controlled with property named "spring.sql.init.mode=always") with three different tables users, authorities and userinfo. Afterwards initialize all these tables with data from below table.
First Name | Last Name | Role | |
---|---|---|---|
[email protected] | admin | admin | ROLE_ADMIN |
[email protected] | Paul | Aguilar | ROLE_STAFF |
[email protected] | Jon | Oliver | ROLE_STAFF |
[email protected] | Claudine | Zhang | ROLE_STAFF |
[email protected] | Lovelin | Kumar | ROLE_STAFF |
[email protected] | Michel | Kouame | ROLE_STAFF |
[email protected] | Angelina | Costa | ROLE_STAFF |
[email protected] | Brijesh | Gupta | ROLE_STAFF |
[email protected] | Amy | Fofana | ROLE_STAFF |