@Target(value=PARAMETER) @Retention(value=RUNTIME) @Scope public @interface InjectScope
An annotation that can be declared on a constructor or method parameter that indicates that the injected bean should be destroyed after injection completes.
More specifically after a constructor or method which is annotated with Inject completes execution then any parameters annotated with InjectScope which do not declare a specific scope such as Singleton will be destroyed resulting in the execution of PreDestroy handlers on the bean and any dependent beans.