Annotation Interface Component


@Target({TYPE,PARAMETER}) @Retention(RUNTIME) public @interface Component
A class annotated with this annotation is instantiated as a singleton object shared by the application context.

These annotated types are instantiated on application startup.

This object may have other singleton Component objects injected into them via ComponentConstructor-annotated constructors. Only one constructor on the Component can be annotated with one.

This object may implement HttpSessionListener or HttpSessionAttributeListener and it will receive session events.

This object can also implement ServletContextListener, but it will ONLY receive ServletContextListener.contextDestroyed(ServletContextEvent) calls.

If a component implements JSONDriver, it is used as the JSON serializer.

If a component implements XMLDriver, it is used as the XML serializer.

If a component implements ViewDriver, it is used as a view handler in the potential view handler chain.

If a component implements ExceptionHandler, it is used as an exception handler, called when an uncaught exception occurs that is the matching type.

If a component implements MIMETypeDriver, it is used has a MIME-Type lookup.

Author:
Matthew Tropiano
See Also: