title: What are the Pros/Cons of Annotations (non-compiler) compared to xml config files
body: <p>When I look at Java frameworks like Hibernate, JPA, or Spring, I usually have the possibility to make my configuration via an xml-file or put annotations directly in my classes.</p>
  
  <p>I am cosistently asking myself what way should I go.</p>
  
  <p>When I use annotations, I have the class and its configuration together but with an xml I get a bigger picture of my system because I can see all class-configurations.</p>
  
  <p>Annotations also get compiled in some way I guess and it should be quicker than parsing the xml, but on the other hand, if I want to change my configuration I have to recompile it instead of just changing the xml file (which might become even more handy for production environments on customer side).</p>
  
  <p>So, when looking at my points, I tend to go the xml-way. But when looking at forums or tutorials usually annotations are used.</p>
  
  <p>What are your pros and cons?</p>