论坛首页 Java企业应用论坛

Tapestry4 不能和Spring整合?

浏览 15097 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-09-12  
lyo 写道
你说的访问受保护的EJB是指什麽?我认为spring不是很适合与EJB一起使用, 看过一篇 jdon上的文章,http://www.jdon.com/AOPdesign/spring2.htm 说的有点道理, robbin的最佳分布式架构 SessionBean+Hibernate 中也没有涉及Spring,似乎在EJB环境下 ,spring很难插手,我指的是在EJB这个层面,用Hibernate代替EntityBean,中间是不是应该直接用Hibernate操作数据库,不用加Spring了?  大家有什麽看法 

我就是一直再使用spring连接ejb,最大的好处就是通过配置可以使用mock的业务类来调试web。
至于受保护的ejb是不是指ejb的安全问题?这个我们目前没有找到很好的办法,都是绕过去的。
0 请登录后投票
   发表时间:2006-03-29  
Now, it's ok!

import com.javaforge.tapestry.spring.annotations.InjectSpring;

@InjectSpring("beanName")
public abstract BeanInterface getBeanName();

download fix from:
http://howardlewisship.com/repository/com/javaforge/tapestry/tapestry-spring/0.1.2/
0 请登录后投票
   发表时间:2006-09-03  
lyo 写道
Spring文档上说的Tapestry3.0整合 Spring对于Tapestry4.0已经不能用了,找了一下,按照这篇文章上说的:
http://wiki.apache.org/jakarta-tapestry/Tapestry4Spring

我试着整合了一下T4和Spring,但是发现不能运行,单独使用Spring是可以的,当然使用 WebApplicationContext肯定是可以的,但是目的是使用Spring的IOC,我的配置:
<page-specification class="lyo.test.tapestry.Logon">

<inject property="userDao" type="java.lang.Object"  object="spring:userDao"/>

</page-specification>  


Spring:
.......................................................
<bean id="userDao" class="lyo.test.service.UserDAOImpl">
   <property name="sessionFactory">
      <ref bean="MySessionFactory"/>
   </property>
</bean>
...................................................


HiveMind:
<?xml version="1.0"?>

<module id="diaphragma.tapspr" version="1.1.0">

	

		<service-point id="DefaultSpringBeanFactoryHolder" interface="hivemind.lib.DefaultSpringBeanFactoryHolder">

		<invoke-factory>
			<construct autowire-services="false"
				class="diaphragma.tapspr.XSpringBeanFactoryHolderImpl">
				<event-listener
					service-id="hivemind.ShutdownCoordinator" />
				<set-object property="context"
					value="service:tapestry.globals.WebContext" />
			</construct>
		</invoke-factory>
	
</service-point>
</module>


Tomcat 报错:
An exception has occurred. 
You may continue by restarting the session. 

org.apache.hivemind.ApplicationRuntimeException 
Error at context:/html/logon.page, line 8, column 61: Error adding property userDao to class lyo.test.tapestry.Logon: Error: Object provider selector 'UserDAO' is not properly formatted. 
location: context:/html/logon.page, line 8, column 61
3 "-//Apache Software Foundation//Tapestry Specification 4.0//EN"  
4 "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> 
5  
6 <page-specification class="lyo.test.tapestry.Logon"> 
7  
8 <inject property="userDao" type="java.lang.Object" object="spring:userDao"/> 
9  
10 </page-specification>  
 
   
org.apache.hivemind.ApplicationRuntimeException 
Error: Object provider selector 'UserDAO' is not properly formatted. 
Stack Trace: 
org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39); 
org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40); 
org.apache.hivemind.service.impl.ObjectTranslator.translate(ObjectTranslator.java:55); 
$Translator_1061a6ce7aa.translate($Translator_1061a6ce7aa.java); 
org.apache.tapestry.services.impl.InjectedValueProviderImpl.obtainValue(InjectedValueProviderImpl.java:38); 
$InjectedValueProvider_1061a6ce8aa.obtainValue($InjectedValueProvider_1061a6ce8aa.java); 
org.apache.tapestry.enhance.InjectObjectWorker.injectObject(InjectObjectWorker.java:59); 
org.apache.tapestry.enhance.InjectObjectWorker.performEnhancement(InjectObjectWorker.java:43); 
 ...................................................................


有没有哪个朋友成功的整合了Tespestry4和Spring1.2? 


错误信息已经很详细的说明了错误的原因了,连几行几列都告诉你了?
0 请登录后投票
   发表时间:2006-09-04  
skyCrack说得对,但是不用Annotation也可以,spring:前缀。

应该是非常容易就能加上Spring.

http://howardlewisship.com/blog/2006/02/tapestry-spring-update.html

http://howardlewisship.com/tapestry-javaforge/tapestry-spring/

http://howardlewisship.com/repository/com/javaforge/tapestry/tapestry-spring/0.1.2/

希望这些链接能有点帮助。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics