Metaprograming is the dirty little secret behind the success of many Java frameworks such as Spring and Struts2, and constitutes the backbone of many of the most fundamental APIs across the JEE technology stack. This session aims introduce the topic and highlight with code examples the different mechanisms and techniques to take advantage of this underused feature of the Java Programming Language.