com.google.inject
@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) public @interface Singleton
Injector