# Preferred Spring Boot project configurations ###### tags: `springboot` ## Directory structure Based on Maven. ### Parent project * `/` * `/.env` * `/.gitignore` * `/Procfile` * `/README.md` * `/common` Shared components as a child project * `/pom.xml` * `/jpa` Database abstraction layer as a child project * `/DDL.sql` * `/pom.xml` * `/src` * `/nbactions.xml` NetBeans<SUP>![NetBeans](https://netbeans.org/images_www/favicon.ico =16x)</SUP> configurations * `/pom.xml` * `/publisher` Publisher<SUP>[![Google Cloud Platform Pub/Sub](https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico =16x)](https://aws.amazon.com/tw/amazon-mq/ "全受管的開放原始碼訊息代理程式")</SUP><SUP>[![Google Cloud Platform Pub/Sub](https://www.gstatic.com/devrel-devsite/prod/v36e9b4a2fdc696650f09851e8c880b958655492821ded3455f80aaef87b6b52b/cloud/images/favicons/onecloud/favicon.ico =16x)](https://cloud.google.com/pubsub/ "事件導向系統和串流數據分析的訊息傳遞和擷取作業")</SUP> application as a child project * `/pom.xml` * `/src/(com.amazonaws|com.google|com.herokuapp)` * `/subscriber` Subscriber<SUP>[![Google Cloud Platform Pub/Sub](https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico =16x)](https://aws.amazon.com/tw/amazon-mq/ "全受管的開放原始碼訊息代理程式")</SUP><SUP>[![Google Cloud Platform Pub/Sub](https://www.gstatic.com/devrel-devsite/prod/v36e9b4a2fdc696650f09851e8c880b958655492821ded3455f80aaef87b6b52b/cloud/images/favicons/onecloud/favicon.ico =16x)](https://cloud.google.com/pubsub/ "事件導向系統和串流數據分析的訊息傳遞和擷取作業")</SUP> application as a child project * `/pom.xml` * `/web` Web application as a child project * `/pom.xml` * `/worker` Worker<SUP>[![Heroku](https://www.herokucdn.com/favicons/favicon.ico =16x)](https://devcenter.heroku.com/articles/background-jobs-queueing "Worker Dynos, Background Jobs and Queueing")</SUP> application as a child project * `/pom.xml`