title: understand "dependency injection framework is details" in clean architecture
body: <p>When I was reading the book "clean architecture", it says "the goal of the architect is to create a shape for the system that recognizes policy as the most essential element of the system while making the details irrelevant to that policy. This allows decisions about those details to be delayed and deferred". </p>
  
  <p>It then says database, dependency injection framework, web server etc are examples of those details.</p>
  
  <p>The question is: I can develop the high-level policy without committing to details like database, as long as I create interface for database. But what I do not understand is that how to remove "dependency injection framework" from high-level policy code, since DI framework like Spring is responsible for  creating and auto-wiring objects.</p>