Thanks for sharing your thoughts! You bring up some valid points.
Spring’s annotations can feel overwhelming at first, but once you get used to them, they often simplify development by reducing boilerplate code.
For RESTful APIs, I do believe Spring Boot makes things easier for many developers, though it may not be everyone’s favorite.
@Autowired has its issues, but using constructor injection (especially with tools like Lombok) makes the code cleaner and avoids most of the problems.
JPA and Hibernate can be tricky, but they save a lot of time compared to writing raw SQL for everything. For those who prefer full control, alternatives are always available.
@ExceptionHandler allows centralized error handling, which can make the code more manageable when used properly.
I agree that no tool is perfect—it’s all about understanding their pros and cons and choosing what works best for your project. Appreciate the discussion!