Spring'овых фрейморков по большей части хватит за глаза + Hibernate as an JPA implementation. Используйте Spring Boot, Data, Security. Hibernate используйте как имплементацию JPA, аннотации оттуда, а запросы к базе через Spring Data интерфейсы-репозитории, что очень просто и удобно. Но, если понадобится очень сложный, нестандартный запрос и писать над методом в репозитории чистый SQL не хочется (если сейчас непонятно, то после чтения доков Spring Data станет ясно о чем речь), то можно будет такие запросы через Hibernat'овскую Criteria провернуть.
Для уменьшения боллерплейт-кода очень удобен Lombok.
По большей части всё уже есть в стандартных библиотеках самой Java. Используйте 8 версию с её stream'ами - красиво и удобно.
А больше вроде ничего такого и не надо. Собирать удобно через gradle, но кому-то больше по душе maven.
Дальше уже надо смотреть по специфическим потребностям в проекте.
Напоследок про тестирование: JUnit для юнит-тестирования, но я таки советую овладеть groovy хотя бы немного и использовать spock framework, а для тестирования UI - Geb.
Самое лучшее чтиво - официальная документация, а она очень хорошая как для Spring (даже на русском же есть), так и для Hibernate. Есть еще известный блог mkyong
https://www.mkyong.com/ - у него примеров чуть ли не на все случаи жизни есть для Java и около.
Из книг Spring in action, есть на русском, но не знаю как они сейчас поспевают ли за версиями, лучше оригинал, конечно.
На тостере посмотрите уже было много вопросов по источникам, там много, например
Какие ресурсы со статьями, туториалами и темами по изучению программирования, технологий, фреймворков вы знаете?
На хабре тоже статьи имеются.