Annotation Type Inject
-
@Retention(CLASS) @Target({METHOD,FIELD}) public @interface Inject
Used to annotate a method or field as an injection point.The method or field must not be
private
, usually it's best to have it package-private.Usage example:
public class MyClass { private TransactionManager tm; private BuddyManager bm; private Notifier n; &Inject public void setTransactionManager(TransactionManager tm) { this.tm = tm; } &Inject public void injectMoreStuff(BuddyManager bm, Notifier n) { this.bm = bm; this.n = n; } }
and an instance of this class can be constructed and wired usingMyClass myClass = componentRegistry.getComponent(MyClass.class);
Methods annotated with this Inject annotation should *only* set class fields. They should do nothing else. If you need to do some work to prepare the component for use, do it in aStart
method since this is only called once when a component starts.- Since:
- 4.0
- Author:
- Manik Surtani