Hacker News new | ask | show | jobs
by vbsteven 3468 days ago
Spring with Spring Boot in Java. Batteries included and easy to setup and get going. A statically typed language to catch errors at compile time. Easy to deploy by building an uberjar. Great dependency management and builds with Gradle/Maven and built-in support for pretty much any common database and message queue.
1 comments

I don't think you can catch errors compile time with all the magic reflection Spring uses, such as resolving services, injected values etc.
Agreed that there is lots of magic going on in the DI container but as it resolves everything on startup most issues there are still caught during the development process.

Catching errors at compile time is mostly about avoiding subtle bugs like object.property vs object.propery or adding a parameter to a method and forgetting to update 1 caller

nowdays you don't use xml to define your beans so most of the things are compile checked. granted some things are happening only at runtime which is a whole point of DI :-)