title: Why the need for a strict enforcement of interfaces for classes in a Spring MVC service layer?
body: <p>In the Spring web app I am working on, there is a service layer that relates to the rest of the web app structure like this:</p>
  
  <pre><code>com/
      myapp/
            controller/
            model/
            service/
  </code></pre>
  
  <p>This service layer is made up of interface and implementation classes.</p>
  
  <p>Why is it so important to have interfaces for all of these classes?</p>
  
  <p>Why not just Class files?</p>