title: Reset database after each test on Spring without using DirtiesContext
body: <p>I would like to know if there is some way to reset the database after each integration test <strong>without</strong> @DirtiesContext:</p>
  
  <pre><code>@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
  </code></pre>
  
  <p><a href="https://stackoverflow.com/a/25361137/2387977">This works</a> but it is <strong>very</strong> slow, because the Spring context is reloaded each test. </p>
  
  <p>My tests are using <strong>MockMvc</strong>, doing rest calls for an API. Like:</p>
  
  <pre><code>mockMvc.perform(put("/products/)
              .header("Content-Type", "application/json")
              .content(jsonPost))
              .andExpect(status().isOk())
              .andReturn();
  </code></pre>
  
  <p>So, without manual intervention (create and maintain a script to drop and create the tables), the Spring framework offer some alternative?</p>