Package de.willuhn.jameica.services
Class BeanService
- java.lang.Object
-
- de.willuhn.jameica.services.BeanService
-
- All Implemented Interfaces:
de.willuhn.boot.Bootable
public class BeanService extends java.lang.Object implements de.willuhn.boot.Bootable
Ein Service, ueber den Beans instanziiert werden. Er unterstuetzt die AnnoationsLifecycle
,Resource
,PostConstruct
undPreDestroy
. Ist die Bean mit der AnnotationLifecycle
versehen, gilt: -Lifecycle.Type.CONTEXT
: Die Bean wird nur einmal instanziiert und existiert ueber die gesamte Lebensdauer des BeanService - also ueber die gesamte Laufzeit der Jameica-Instanz -Lifecycle.Type.REQUEST
: Die Bean besitzt keinen Lifecycle - mit jedem Aufruf wird eine neue Instanz erzeugt. -Lifecycle.Type.SESSION
: Die Bean besitzt eine Lebensdauer von 30 Minuten. Ist eine Member-Variable oder Methode mit der AnnotationResource
versehen, wird sie ueber den BeanService bei der Instanziierung der Bean aufgeloest. Enthaelt die Bean die AnnotationPostConstruct
, wird die zugehoerige Methode bei der Instanziierung aufgerufen. Die AnnotationPreDestroy
wird nur bei Beans mit CONTEXT-Lifecycle beruecksichtigt. Der Aufruf der mit dieser Annotation versehenen Funktion erfolgt beim Beenden von Jameica.
-
-
Constructor Summary
Constructors Constructor Description BeanService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInjectHandler(InjectHandler handler)
Registriert einen Inject-Handler.java.lang.Class<de.willuhn.boot.Bootable>[]
depends()
<T> T
get(java.lang.Class<T> type)
Liefert eine Instanz der angegebenen Bean.void
init(de.willuhn.boot.BootLoader loader, de.willuhn.boot.Bootable caller)
void
inject(java.lang.Object bean)
Injiziert die Abhaengigkeiten in die Bean.void
shutdown()
-
-
-
Method Detail
-
depends
public java.lang.Class<de.willuhn.boot.Bootable>[] depends()
- Specified by:
depends
in interfacede.willuhn.boot.Bootable
- See Also:
Bootable.depends()
-
init
public void init(de.willuhn.boot.BootLoader loader, de.willuhn.boot.Bootable caller) throws de.willuhn.boot.SkipServiceException
- Specified by:
init
in interfacede.willuhn.boot.Bootable
- Throws:
de.willuhn.boot.SkipServiceException
- See Also:
Bootable.init(de.willuhn.boot.BootLoader, de.willuhn.boot.Bootable)
-
addInjectHandler
public void addInjectHandler(InjectHandler handler)
Registriert einen Inject-Handler.- Parameters:
handler
- der zu registrierende Handler.
-
get
public <T> T get(java.lang.Class<T> type)
Liefert eine Instanz der angegebenen Bean.- Type Parameters:
T
- Typ der Bean.- Parameters:
type
- Typ der Bean.- Returns:
- die Instanz der Bean.
Wenn die Bean mit der
Lifecycle
Annotation versehen ist, wird diese beruecksichtigt.
-
inject
public void inject(java.lang.Object bean) throws JameicaException
Injiziert die Abhaengigkeiten in die Bean.- Parameters:
bean
- die Bean.- Throws:
JameicaException
- wenn beim Injezieren der Dependencies etwas schief ging.
-
shutdown
public void shutdown()
- Specified by:
shutdown
in interfacede.willuhn.boot.Bootable
- See Also:
Bootable.shutdown()
-
-