---
# System prepended metadata

title: Preferred Spring Boot project configurations
tags: [springboot]

---

# 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`
