Anotation now in j2SE 5 + version plays some important roles with the easy and nimble programming,in other words,it's a change in the form but not the content,just like AJAX using a new XMLHTTP object to make the browser's asyn work easily.
Guice is an anotation-version Spring's IOC.the WHAT-inject,HOW-inject and life-cycle are totally a copy version of Spring.it also supplies some usefull toolkit of best pragmatic solution,for example the "Static Injection" for deserialize an transient object virable,awareness of the development stages (DEV or PROD).
it perhaps will get better aop shipped with later version,since the spring's AOP now is very sophisicated for method intercepting.
reffer to a.bmp
![architechture](http://www.iteye.com/upload/attachment/60658/bda3faaa-2922-34f6-809a-3fa12c21489b-thumb.bmp?1229509654)
in this map the Injector will bind any anotations that have been present in your codes.
note the Injector and Binding is 1 to N. And for the same type ,we also can have different injections with the function of "Annotating Bindings",which you can see in the examples.This will help us with the UNIT TEST.
the guice.jar is only 544 kb rather than spring's 2M.