Как пишут REST API на Java?
1 Maven проект (для удобства подключения библиотек)
2 Spring (Удобный и расширяемый фреймворк)
3 Hibernate (Почти стандарт для БД на JAVA)
4 Apache Tomcat
5 MySQL, Oracle хоть h2 (тут главное не говнокодить. При желании поменять БД в Hibernate пару пустяков)
можешь скачать готовый проект с git-а (maven-spring-hibernate)
Тоже задавался этим вопросом, но пока особо не копал в эту сторону. Нашёл пока на степик курс, но ещё не прошёл его: курс по созданию веб-приложения на джава