Class SpringComponentInjector
- java.lang.Object
-
- org.apache.wicket.injection.Injector
-
- org.apache.wicket.spring.injection.annot.SpringComponentInjector
-
- All Implemented Interfaces:
IComponentInstantiationListener
,IBehaviorInstantiationListener
public class SpringComponentInjector extends Injector implements IComponentInstantiationListener, IBehaviorInstantiationListener
IComponentInstantiationListener
that injects component and behavior properties annotated withSpringBean
annotations. To install in yourapplication.init() callgetComponentInstantiationListeners().add(new SpringComponentInjector(this));
Only Wicket
Component
s andBehavior
s are automatically injected, other classes such asSession
,Model
, and any other POJO can be injected by callingInjector.get().inject(this)
in their constructor.- Author:
- Igor Vaynberg (ivaynberg), Justin Lee
-
-
Constructor Summary
Constructors Constructor Description SpringComponentInjector(WebApplication webapp)
Constructor used when spring application context is declared in the spring standard way and can be located throughWebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext)
.SpringComponentInjector(WebApplication webapp, org.springframework.context.ApplicationContext ctx)
ConstructorSpringComponentInjector(WebApplication webapp, org.springframework.context.ApplicationContext ctx, boolean wrapInProxies)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
inject(Object object)
Injects the specified object.void
onInstantiation(Behavior behavior)
Called when a behavior instance is createdvoid
onInstantiation(Component component)
Called for every component that is instantiated.static void
setDefaultContext(WebApplication webapp, org.springframework.context.ApplicationContext context)
Set the default context for the given webapp.
-
-
-
Constructor Detail
-
SpringComponentInjector
public SpringComponentInjector(WebApplication webapp)
Constructor used when spring application context is declared in the spring standard way and can be located throughWebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext)
.- Parameters:
webapp
- wicket web application
-
SpringComponentInjector
public SpringComponentInjector(WebApplication webapp, org.springframework.context.ApplicationContext ctx)
Constructor- Parameters:
webapp
- wicket web applicationctx
- spring's application context
-
SpringComponentInjector
public SpringComponentInjector(WebApplication webapp, org.springframework.context.ApplicationContext ctx, boolean wrapInProxies)
Constructor- Parameters:
webapp
- wicket web applicationctx
- spring's application contextwrapInProxies
- whether or not wicket should wrap dependencies with specialized proxies that can be safely serialized. in most cases this should be set to true.
-
-
Method Detail
-
inject
public void inject(Object object)
Description copied from class:Injector
Injects the specified object. This method is usually implemented by delegating toInjector.inject(Object, IFieldValueFactory)
with someIFieldValueFactory
- Specified by:
inject
in classInjector
- See Also:
Injector.inject(Object, IFieldValueFactory)
-
onInstantiation
public void onInstantiation(Component component)
Description copied from interface:IComponentInstantiationListener
Called for every component that is instantiated. This method is called during construction, so do not depend on the construction being completed yet. The id is guaranteed to be set before this call.- Specified by:
onInstantiation
in interfaceIComponentInstantiationListener
- Parameters:
component
- the component that is being instantiated.
-
onInstantiation
public void onInstantiation(Behavior behavior)
Description copied from interface:IBehaviorInstantiationListener
Called when a behavior instance is created- Specified by:
onInstantiation
in interfaceIBehaviorInstantiationListener
-
setDefaultContext
public static void setDefaultContext(WebApplication webapp, org.springframework.context.ApplicationContext context)
Set the default context for the given webapp.- Parameters:
webapp
- web applicationcontext
- context to use as default if non is explicitely specified for the injector
-
-