If we fast forward a little bit (pretty much skip the rest of J2EE progression) and land in Java EE 5, we run into an interesting paradigm shift. EJB3 came out with this revision of Enterprise Edition, with a lot of cool new features. It was meant to be a simplification release, removing the need for a lot of extra interfaces, or classes implementing methods to do their work. The component programming model instead moved towards annotations (in general, annotations are considered decorations on your code, providing metadata for some runtime to use. In Java, these are CLASS
, RUNTIME
, and SOURCE
. RUNTIME
allows you to access the annotation after compilation while CLASS
and SOURCE
are typically only compile time).
Since we switched to annotations, we no longer needed the EJB container libraries on our classpath to test. The annotation would be ignored, as long as it is not used, by the testing runtime. You can more easily test these objects, as long as they are coded correctly...