title: How do I correctly reuse Jackson ObjectMapper?
body: <p>I am happy with how the ObjectMapper works and general use within my application. What I would like to understand is the best way to implement the ObjectMapper to ensure it is re-used and I'm not creating unnecessary instances within my application?</p>
  
  <p>My thoughts are that I can declare the ObjectMapper in a Utils class as follows:</p>
  
  <pre><code>public class Utils {
  
      public final static ObjectMapper mapper = new ObjectMapper();
  
  }
  </code></pre>
  
  <p>I could then reference this from the various places I need to using code such as:</p>
  
  <pre><code>JsonSimple jsonSimple = Utils.mapper.readValue(jsonString, JsonSimple.class);
  </code></pre>
  
  <p>I came across this other question (<a href="https://stackoverflow.com/questions/3907929/should-i-make-jacksons-objectmapper-as-static-final">Should I declare Jackson&#39;s ObjectMapper as a static field?</a>) that prompted my approach. I think maybe the key difference is that I want to share my ObjectMapper instance across many different classes, not just within a single class.</p>
  
  <p>Does this approach sound appropriate or am I missing something?</p>
  
  <p>Thanks</p>