Most of the day to day software engineering is our ability to work with the language tooling, we can also call it the ecosystem of the language. From Java's perspective most of our interaction with the language is not directly with the language but with frameworks like Spring etc. These things are meant to make the language more easily digestible. The problem comes in when the platform becomes so huge that there is no way to logical develop a thorough understanding of the actual technology at hand. I started studying Java again to brush up my knowledge of it but found that the language has grown so much it was difficult to derive a logical conclusion to the platform.
This was further evident when I started looking for Java developer roles in my country and found that just understanding the language and its principles were not enough. There seemed to be a general consensus that Java developers must know other related technologies like Spring, JPA, Hibernate, etc. All these related technologies bring their own software paradigm into the picture and hide the actual technology (Java) under the hood.
* Why for some weird reason a Java developer must know or supplement his understanding of the language with framework like Spring, JPA, Hibernate, etc? This is true for other platforms like Node.JS where you have MERN stack etc.
* Are there other languages (or platforms) like Go or Rust where the language is well developed that these external dependencies are minimal.
Seeking a language with minimal external dependencies is futile. Real world work almost always involves a substantial collection of dependencies regardless of the language. Gone are the days when the language has everything you need built-in; that went when the network and myriad protocols appeared.
Compared to Java, Go is generally 'simple' in the sense that it doesn't involve a lot of programming complexity created by the dependencies. There are no macros, annotations are few; mostly you just deal with the language itself and the APIs of dependencies. I really like that aspect of Go and I think it is closest to what you have in mind. Wading through error handling boilerplate is no fun though; easily the most tedious part of Go.
Rust is similar to Java in that you find yourself using dependencies that 'decorate' the language with annotations and macros that add capability and complexity. Many of these dependencies are well designed so the annotations and macros are straightforward to use and easy to live with. Others are mystifying and obtuse. Incompatibilities abound; stable vs nightly, Tokio vs std::async, etc. Rust can be a struggle.
I feel like you're making too big a deal over the commonly used Java stack dependencies. Spring is ubiquitous; there are all manner of resources to help you figure things out and when you understand it and stay between the lines it's fine. Add Lombok (a curated Spring dependency) and writing Java is fairly pleasant and highly productive. I can't speak to Hibernate; I've been fortunate to be able to mostly avoid ORMs. The little experience I've had with Java ORM only encourage that tendency.