You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Apache Wiki <wi...@apache.org> on 2006/08/13 20:20:31 UTC
[Tapestry Wiki] Update of "Tapestry4Spring" by henrikvendelbo
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for change notification.
The following page has been changed by henrikvendelbo:
http://wiki.apache.org/tapestry/Tapestry4Spring
------------------------------------------------------------------------------
= Combining Tapestry 4 and Spring =
How can you reference Spring beans from Tapestry 4? In earlier versions of Tapestry, the most common method was to extend the BaseEngine class. However, in Tapestry 4 the BaseEngine class is deprecated, and we now need to extend SpringBeanFactoryHolder.
+
+ Add an entry in your hivemodule.xml:
+ {{{
+ <implementation service-id="hivemind.lib.DefaultSpringBeanFactoryHolder">
+ <invoke-factory>
+ <construct autowire-services="false" class="engine.PersonalSpringBeanFactoryHolder">
+ <event-listener service-id="hivemind.ShutdownCoordinator" />
+ <set-object property="context" value="service:tapestry.globals.WebContext" />
+ </construct>
+ </invoke-factory>
+ </implementation>
+ }}}
+ Consult [http://jakarta.apache.org/hivemind/hivemind-lib/SpringLookupFactory.html] for more information.
+
+ == Injecting Spring Beans ==
+
+ You may inject beans managed by Spring into pages and components just like you inject anything else as described by [http://tapestry.apache.org/tapestry4/UsersGuide/injection.html]. You can describe the injection in the .page/.jwc file or using an @InjectObject annotation. Just use the 'spring:' prefix like:
+ {{{
+ @InjectObject("spring:name.from.applicationContext.xml")
+ }}}
+
+ You may also wire Spring managed beans in HiveMind services such as IEngine services.
+ {{{
+ <service-point id="MyService" interface="org.apache.tapestry.engine.IEngineService">
+ <invoke-factory>
+ <construct class="engine.MyService">
+ <set-object property="springBean" value="spring:name.of.spring.bean"/>
+ </construct>
+ </invoke-factory>
+ </service-point>
+ }}}
(''Basic knowledge of Java, Tapestry, and Spring assumed.'')
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org