Class BeanService

java.lang.Object
de.willuhn.jameica.services.BeanService
All Implemented Interfaces:
de.willuhn.boot.Bootable

public class BeanService extends Object implements de.willuhn.boot.Bootable
Ein Service, ueber den Beans instanziiert werden. Er unterstuetzt die Annoations Lifecycle, Resource, PostConstruct und PreDestroy. Ist die Bean mit der Annotation Lifecycle 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 Annotation Resource versehen, wird sie ueber den BeanService bei der Instanziierung der Bean aufgeloest. Enthaelt die Bean die Annotation PostConstruct, wird die zugehoerige Methode bei der Instanziierung aufgerufen. Die Annotation PreDestroy wird nur bei Beans mit CONTEXT-Lifecycle beruecksichtigt. Der Aufruf der mit dieser Annotation versehenen Funktion erfolgt beim Beenden von Jameica.
  • Constructor Details

    • BeanService

      public BeanService()
  • Method Details

    • depends

      public Class<de.willuhn.boot.Bootable>[] depends()
      Specified by:
      depends in interface de.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 interface de.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(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(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 interface de.willuhn.boot.Bootable
      See Also:
      • Bootable.shutdown()