Annotation is replacing of XML Meta data you can see its example in many different frameworks like EJB, hibernate, strips etc. This made development fastest and rapidly but mix Meta data to program. Is this good or bad in your point of view ???
My point of view is that separate configuration or XML file is easier to understand and annotation mix the code with meta data which can not be understandable and annotations cannot be modified without recompiling the Java source code.
So point is that where to use annotation and where to use xml .It simple when external configuration needed like machine address,password like that then we use xml file and whenever we need to add meta data information in methods,classes and fields for adding behavior of some components (EJB,WebServices,Struts Action and Beans meta data) then we use annotations