Tapestrying-hibernate使用指南
tapestry
2006-12-11
一、前提:
1、使用java1.5 2、Hibernate使用annotation配置 3、Hibernate为3.x版本 二、准备: 1、hibernate的配置文件放于类路径,例如WEB-INF/classes的根目录,也就是开发时放于源码的根路径。 2、将hibernate包和依赖包、Tapestrying-hibernat.jar放于lib路径(WEB-INF/lib)。 三、例子: 1、定义service接口 @Transactional public interface UserService{ public User findById(Long id); @Transactional(commit = true) public void saveUser(User user); //other methods } 2、service具体实现 public class UserServiceImpl implements UserService{ private UserDAO userDAO; public void setUserDAO(UserDAO userDAO){ this.userDAO = userDAO; } public User findById(Long id){ return userDAO.findById(id); } public void saveUser(User user){ userDAO.saveUser(user); } //other methods } 3、定义DAO接口 public interface UserDAO { public User findById(Long id); public void saveUser(User user); //other methods } 4、DAO具体实现 public class UserHibernateDAO implements UserDAO{ private Session session; public void setSession(Session session) { this.session = session; } public User findById(Long id){ return session.load(User.class, id); } public void saveUser(User user){ session.saveOrUpdate(user); } } 5、Hivemind配置 <service-point id="UserDAO" interface="UserDAO"> <invoke-factory> <construct class="UserHibernateDAO"> <set-object property="session" value="infrastructure:session"/> </construct> </invoke-factory> </service-point> <service-point id="UserService" interface=" UserService"> <invoke-factory> <construct class="UserServiceImpl"> <service>UserDAO</service> </construct> </invoke-factory> <interceptor service-id=" com.javaeye.tapestrying.TransactionInterceptor"/> </service-point> 6、具体使用: @InjectObject("service:yourModule.UserService") public abstract UserService getUserService(); |
|
tapestry
2006-12-11
Tapestrying-hibernate包在共享里可以下载
|
|
zhaow8820
2006-12-11
不知道应用这个包hibernate并发量怎么样
|
|
zhaow8820
2006-12-11
和Honeycomb比有什么优势和劣势吗?
|
|
tapestry
2006-12-12
1、代码简单,条理清楚,自己可以控制
2、注释声明事务 现在应用项目www.artgle.net |
|
Linuxboy
2006-12-14
按照上面的方法,运行时出现如下错误:
An exception has occurred. You may continue by restarting the session. [ +/- ] Exception: Unable to construct service northstar.dao.UserService: Error building service northstar.dao.UserService: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. org.apache.hivemind.ApplicationRuntimeException Unable to construct service northstar.dao.UserService: Error building service northstar.dao.UserService: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. location: context:/WEB-INF/northstar.dao.xml, line 12, column 19 7 value="infrastructure:session" /> 8 </construct> 9 </invoke-factory> 10 </service-point> 11 <service-point id="UserService" interface="org.northstar.service.UserService"> 12 <invoke-factory> 13 <construct class="org.northstar.service.UserServiceImpl"> 14 <service>UserDAO</service> 15 </construct> 16 </invoke-factory> 17 <interceptor [ +/- ] Exception: Error building service northstar.dao.UserService: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. org.apache.hivemind.ApplicationRuntimeException Error building service northstar.dao.UserService: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. location: context:/WEB-INF/northstar.dao.xml, line 12, column 19 7 value="infrastructure:session" /> 8 </construct> 9 </invoke-factory> 10 </service-point> 11 <service-point id="UserService" interface="org.northstar.service.UserService"> 12 <invoke-factory> 13 <construct class="org.northstar.service.UserServiceImpl"> 14 <service>UserDAO</service> 15 </construct> 16 </invoke-factory> 17 <interceptor [ +/- ] Exception: Error building service northstar.dao.UserService: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. org.apache.hivemind.ApplicationRuntimeException Error building service northstar.dao.UserService: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. location: context:/WEB-INF/northstar.dao.xml, line 13, column 61 8 </construct> 9 </invoke-factory> 10 </service-point> 11 <service-point id="UserService" interface="org.northstar.service.UserService"> 12 <invoke-factory> 13 <construct class="org.northstar.service.UserServiceImpl"> 14 <service>UserDAO</service> 15 </construct> 16 </invoke-factory> 17 <interceptor 18 service-id="com.javaeye.tapestrying.TransactionInterceptor" /> [ +/- ] Exception: Unable to find constructor applicable for autowiring. Use explicit constructor parameters. org.apache.hivemind.ApplicationRuntimeException Unable to find constructor applicable for autowiring. Use explicit constructor parameters. location: context:/WEB-INF/northstar.dao.xml, line 13, column 61 8 </construct> 9 </invoke-factory> 10 </service-point> 11 <service-point id="UserService" interface="org.northstar.service.UserService"> 12 <invoke-factory> 13 <construct class="org.northstar.service.UserServiceImpl"> 14 <service>UserDAO</service> 15 </construct> 16 </invoke-factory> 17 <interceptor 18 service-id="com.javaeye.tapestrying.TransactionInterceptor" /> Stack Trace: org.apache.hivemind.service.impl.BuilderFactoryLogic.instantiateExplicitConstructorInstance(BuilderFactoryLogic.java:138) org.apache.hivemind.service.impl.BuilderFactoryLogic.instantiateCoreServiceInstance(BuilderFactoryLogic.java:109) org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:75) org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42) org.apache.hivemind.impl.InvokeFactoryServiceConstructor.constructCoreServiceImplementation(InvokeFactoryServiceConstructor.java:62) org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructCoreServiceImplementation(AbstractServiceModelImpl.java:108) org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:158) org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructServiceImplementation(AbstractServiceModelImpl.java:140) org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getActualServiceImplementation(SingletonServiceModel.java:69) $UserService_10f80085091._service($UserService_10f80085091.java) $UserService_10f80085091.getAllUsers($UserService_10f80085091.java) $UserService_10f80085090.getAllUsers($UserService_10f80085090.java) $$Home_0$access_userService_allUsers_10f800850ce.readProperty($$Home_0$access_userService_allUsers_10f800850ce.java) com.javaforge.tapestry.prop.PropertyAccessorBinding.getObject(PropertyAccessorBinding.java:59) org.apache.tapestry.components.Foreach.getSourceData(Foreach.java:61) org.apache.tapestry.components.Foreach.renderComponent(Foreach.java:87) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:674) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:674) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:129) org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:250) org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:338) org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:117) org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33) $ResponseRenderer_10f80084fc1.renderResponse($ResponseRenderer_10f80084fc1.java) $ResponseRenderer_10f80084fc0.renderResponse($ResponseRenderer_10f80084fc0.java) org.apache.tapestry.engine.HomeService.service(HomeService.java:68) $IEngineService_10f8008502f.service($IEngineService_10f8008502f.java) org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77) org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241) org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60) $WebRequestServicer_10f8008500b.service($WebRequestServicer_10f8008500b.java) $WebRequestServicer_10f8008500a.service($WebRequestServicer_10f8008500a.java) org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48) $WebRequestServicerFilter_10f8008500d.service($WebRequestServicerFilter_10f8008500d.java) $WebRequestServicerFilter_10f8008500c.service($WebRequestServicerFilter_10f8008500c.java) $WebRequestServicer_10f8008500e.service($WebRequestServicer_10f8008500e.java) com.javaeye.tapestrying.hibernate.TransactionManagerFilter.service(TransactionManagerFilter.java:50) $WebRequestServicerFilter_10f80085009.service($WebRequestServicerFilter_10f80085009.java) $WebRequestServicerFilter_10f80085008.service($WebRequestServicerFilter_10f80085008.java) $WebRequestServicer_10f8008500e.service($WebRequestServicer_10f8008500e.java) $WebRequestServicer_10f80085005.service($WebRequestServicer_10f80085005.java) $WebRequestServicer_10f80085004.service($WebRequestServicer_10f80085004.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56) $ServletRequestServicer_10f80084feb.service($ServletRequestServicer_10f80084feb.java) $ServletRequestServicer_10f80084fea.service($ServletRequestServicer_10f80084fea.java) org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) $ServletRequestServicerFilter_10f80084fe7.service($ServletRequestServicerFilter_10f80084fe7.java) $ServletRequestServicerFilter_10f80084fe6.service($ServletRequestServicerFilter_10f80084fe6.java) $ServletRequestServicer_10f80084fec.service($ServletRequestServicer_10f80084fec.java) org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) $ServletRequestServicerFilter_10f80084fe5.service($ServletRequestServicerFilter_10f80084fe5.java) $ServletRequestServicerFilter_10f80084fe4.service($ServletRequestServicerFilter_10f80084fe4.java) $ServletRequestServicer_10f80084fec.service($ServletRequestServicer_10f80084fec.java) org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) $ServletRequestServicerFilter_10f80084fe9.service($ServletRequestServicerFilter_10f80084fe9.java) $ServletRequestServicerFilter_10f80084fe8.service($ServletRequestServicerFilter_10f80084fe8.java) $ServletRequestServicer_10f80084fec.service($ServletRequestServicer_10f80084fec.java) $ServletRequestServicer_10f80084fdf.service($ServletRequestServicer_10f80084fdf.java) $ServletRequestServicer_10f80084fde.service($ServletRequestServicer_10f80084fde.java) org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Thread.java:595) [ +/- ] Request HttpServletRequest authType <NULL> characterEncoding UTF-8 contentLength -1 contextPath /slsafety contentType <NULL> locale zh_CN method GET pathInfo <NULL> pathTranslated <NULL> protocol HTTP/1.1 queryString <NULL> requestURI /slsafety/app scheme http secure false serverName localhost serverPort 8080 servletPath /app userPrincipal <NULL> Headers accept */* accept-language zh-cn connection Keep-Alive host localhost:8080 user-agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Attributes org.apache.tapestry.Infrastructure <SingletonProxy for tapestry.Infrastructure(org.apache.tapestry.services.Infrastructure)> [ +/- ] Context HttpServlet servletInfo servletName slsafety ServletContext serverInfo Apache Tomcat/5.5.17 version 2.4 Attributes javax.servlet.context.tempdir E:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\slsafety org.apache.catalina.WELCOME_FILES [Ljava.lang.String;@13dcd27 org.apache.catalina.jsp_classpath /E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/classes/;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/antlr-2.7.6.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/asm-attrs.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/asm.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/cglib-2.1.3.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/commons-collections-3.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/commons-io-1.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/commons-logging-1.0.4.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/commons-proxy-1.0.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/dom4j-1.6.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/ehcache-1.2.3.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/hibernate3.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/hivemind-1.1.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/hivemind-lib-1.1.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/jta.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/log4j-1.2.11.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/proxool-0.8.3.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/spring-1.2.6.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/tapestry-annotations-4.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/tapestry-framework-4.1.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/tapestry-prop.jar;/E:/Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/slsafety/WEB-INF/lib/tapestrying-hibernate.jar;/D:/WebSrv/Tomcat-5.5.17/common/classes/;/D:/WebSrv/Tomcat-5.5.17/common/i18n/tomcat-i18n-en.jar;/D:/WebSrv/Tomcat-5.5.17/common/i18n/tomcat-i18n-es.jar;/D:/WebSrv/Tomcat-5.5.17/common/i18n/tomcat-i18n-fr.jar;/D:/WebSrv/Tomcat-5.5.17/common/i18n/tomcat-i18n-ja.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/commons-codec-1.3.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/commons-el.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/commons-logging-api-1.0.4.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/jasper-compiler-jdt.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/jasper-compiler.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/jasper-runtime.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/javassist.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/jsp-api.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/mysql-connector-java-5.0.0-beta-bin.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/naming-factory-dbcp.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/naming-factory.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/naming-resources.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/ognl-2.6.9.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/oro-2.0.8.jar;/D:/WebSrv/Tomcat-5.5.17/common/lib/servlet-api.jar;/D:/WebSrv/Tomcat-5.5.17/bin/bootstrap.jar;/D:/Java/jdk1.5.0_06/lib/tools.jar;/D:/Java/jdk1.5.0_06/jre/lib/ext/dnsns.jar;/D:/Java/jdk1.5.0_06/jre/lib/ext/localedata.jar;/D:/Java/jdk1.5.0_06/jre/lib/ext/sunjce_provider.jar;/D:/Java/jdk1.5.0_06/jre/lib/ext/sunpkcs11.jar org.apache.catalina.resources org.apache.naming.resources.ProxyDirContext@7e5619 org.apache.tapestry.Registry:slsafety org.apache.hivemind.impl.RegistryImpl@15c2843 [ +/- ] Status tapestry.request.EnginePool total count 0 tapestry.page.PagePool total count 0 tapestry.parse.SpecificationSource page specification count 2 page specifications context:/WEB-INF/Home.page classpath:/org/apache/tapestry/pages/Exception.page component specification count 10 component specifications classpath:/org/apache/tapestry/components/If.jwc classpath:/org/apache/tapestry/html/Describe.jwc classpath:/org/apache/tapestry/components/Any.jwc classpath:/org/apache/tapestry/link/ServiceLink.jwc classpath:/org/apache/tapestry/components/Insert.jwc classpath:/org/apache/tapestry/components/Delegator.jwc classpath:/org/apache/tapestry/components/Foreach.jwc classpath:/org/apache/tapestry/html/Shell.jwc classpath:/org/apache/tapestry/html/RequestDisplay.jwc classpath:/org/apache/tapestry/html/ExceptionDisplay.jwc tapestry.enhance.ComponentConstructorFactory enhanced class count 12 enhanced classes ComponentSpecification[componentClassName=null pageSpecification=true specificationLocation=context:/WEB-INF/Home.page allowBody=true allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.pages.Exception pageSpecification=true specificationLocation=classpath:/org/apache/tapestry/pages/Exception.page allowBody=true allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.components.IfBean pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/components/If.jwc allowBody=true allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.components.Delegator pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/components/Delegator.jwc allowBody=false allowInformalParameter=false] ComponentSpecification[componentClassName=org.apache.tapestry.html.Shell pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/html/Shell.jwc allowBody=true allowInformalParameter=false] ComponentSpecification[componentClassName=org.apache.tapestry.components.Insert pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/components/Insert.jwc allowBody=false allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.html.Describe pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/html/Describe.jwc allowBody=false allowInformalParameter=false] ComponentSpecification[componentClassName=org.apache.tapestry.html.RequestDisplay pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/html/RequestDisplay.jwc allowBody=false allowInformalParameter=false] ComponentSpecification[componentClassName=org.apache.tapestry.components.Any pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/components/Any.jwc allowBody=true allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.components.Foreach pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/components/Foreach.jwc allowBody=true allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.link.ServiceLink pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/link/ServiceLink.jwc allowBody=true allowInformalParameter=true] ComponentSpecification[componentClassName=org.apache.tapestry.html.ExceptionDisplay pageSpecification=false specificationLocation=classpath:/org/apache/tapestry/html/ExceptionDisplay.jwc allowBody=false allowInformalParameter=false] com.javaforge.tapestry.prop.PropertyAccessorSource instantiated accessors 7 accessor classes MultiKey[class $Home_0, user.work] MultiKey[class $Home_0, sex] MultiKey[class $Home_0, user.name] MultiKey[class $Home_0, user] MultiKey[class $Home_0, birthDate] MultiKey[class $Home_0, userService.allUsers] MultiKey[class $Home_0, user.isSuper] tapestry.parse.TemplateSource parsed templates 4 total template tokens 105 total template characters 2436 Parsed template token counts classpath:/org/apache/tapestry/pages/Exception.html 15 classpath:/org/apache/tapestry/html/RequestDisplay.html 23 classpath:/org/apache/tapestry/html/ExceptionDisplay.html 47 context:/Home.html 20 tapestry.ognl.ExpressionCache cached expression count 32 cached expressions index exception.stackTrace '' exception.properties ! last true browserLogLevel dojoPath dojoSource beans.evenOdd.next exception context exceptions trace @org.apache.tapestry.Tapestry@RESTART_SERVICE activator adapterFactory.getRenderableAdaptor(property.value) 'return toggleDisplay(\'excdisplay'+index+'\')' exception.message property 'excdisplay' + index request.getSession(false) != null assets.stylesheet tapestrySource property.name reportStatusRenderer last exception.exceptionClassName assetService templateTag request false [ +/- ] System Properties JVM System Properties awt.toolkit sun.awt.windows.WToolkit catalina.base E:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 catalina.home D:\WebSrv\Tomcat-5.5.17 catalina.useNaming true common.loader ${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar file.encoding GBK file.encoding.pkg sun.io file.separator \ java.awt.graphicsenv sun.awt.Win32GraphicsEnvironment java.awt.printerjob sun.awt.windows.WPrinterJob java.class.path D:\WebSrv\Tomcat-5.5.17\bin\bootstrap.jar D:\Java\jdk1.5.0_06\lib\tools.jar java.class.version 49.0 java.endorsed.dirs D:\WebSrv\Tomcat-5.5.17\common\endorsed java.ext.dirs D:\Java\jdk1.5.0_06\jre\lib\ext java.home D:\Java\jdk1.5.0_06\jre java.io.tmpdir C:\DOCUME~1\NORTHS~1\LOCALS~1\Temp\ java.library.path D:\Java\jdk1.5.0_06\bin . C:\WINDOWS\system32 C:\WINDOWS C:\WINDOWS\system32 C:\WINDOWS C:\WINDOWS\System32\Wbem D:\Java\jdk1.5.0_06\bin D:\Program Files\MySQL\MySQL Server 5.0\bin D:\Program Files\GTK2.0\bin java.naming.factory.initial org.apache.naming.java.javaURLContextFactory java.naming.factory.url.pkgs org.apache.naming java.runtime.name Java(TM) 2 Runtime Environment, Standard Edition java.runtime.version 1.5.0_06-b05 java.specification.name Java Platform API Specification java.specification.vendor Sun Microsystems Inc. java.specification.version 1.5 java.vendor Sun Microsystems Inc. java.vendor.url http://java.sun.com/ java.vendor.url.bug http://java.sun.com/cgi-bin/bugreport.cgi java.version 1.5.0_06 java.vm.info mixed mode, sharing java.vm.name Java HotSpot(TM) Client VM java.vm.specification.name Java Virtual Machine Specification java.vm.specification.vendor Sun Microsystems Inc. java.vm.specification.version 1.0 java.vm.vendor Sun Microsystems Inc. java.vm.version 1.5.0_06-b05 line.separator org.apache.tapestry.disable-caching true os.arch x86 os.name Windows XP os.version 5.1 package.access sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans. package.definition sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. path.separator ; server.loader ${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar shared.loader ${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar sun.arch.data.model 32 sun.boot.class.path D:\Java\jdk1.5.0_06\jre\lib\rt.jar D:\Java\jdk1.5.0_06\jre\lib\i18n.jar D:\Java\jdk1.5.0_06\jre\lib\sunrsasign.jar D:\Java\jdk1.5.0_06\jre\lib\jsse.jar D:\Java\jdk1.5.0_06\jre\lib\jce.jar D:\Java\jdk1.5.0_06\jre\lib\charsets.jar D:\Java\jdk1.5.0_06\jre\classes sun.boot.library.path D:\Java\jdk1.5.0_06\jre\bin sun.cpu.endian little sun.cpu.isalist sun.desktop windows sun.io.unicode.encoding UnicodeLittle sun.jnu.encoding GBK sun.management.compiler HotSpot Client Compiler sun.os.patch.level Service Pack 2 tomcat.util.buf.StringCache.byte.enabled true user.country CN user.dir E:\Eclipse user.home C:\Documents and Settings\northstar user.language zh user.name northstar user.timezone Asia/Shanghai user.variant |
|
Linuxboy
2006-12-14
不知原因何在,请看看。
谢谢! |
|
tapestry
2006-12-14
大体看了下,应该是UserService的构造函数不是默认的无参构造函数,你看看是不是定义了有参的构造函数,没写默认的。
还不行,可以把代码粘贴上来。 |
|
Linuxboy
2006-12-15
我的代码和配置如下:
UserService.java package org.example.service; import java.util.List; import org.example.bo.User; import com.javaeye.tapestrying.hibernate.Transactional; @Transactional public interface UserService { @Transactional(commit = true) public void create(User user); public List<User> getAllUsers(); @Transactional(commit = true) public void update(User user); @Transactional(commit = true) public void delete (User user); public User findById(Long id); } UserServiceImpl.java package org.example.service; import java.util.List; import org.example.bo.User; import org.example.dao.UserDAO; public class UserServiceImpl implements UserService { private UserDAO _userDAO; public void setUserDAO(UserDAO userDAO){ _userDAO = userDAO; } public void create(User user) { _userDAO.create(user); } public void delete(User user) { _userDAO.delete(user); } public User findById(Long id) { return _userDAO.findById(id); } public List<User> getAllUsers() { return _userDAO.getAllUsers(); } public void update(User user) { _userDAO.update(user); } } AbstractDAOImpl.java package org.example.dao; import org.hibernate.Session; public class AbstractDAOImpl { private Session _session; public Session getSession(){ return _session; } public void setSession(Session session){ _session = session; } } UserDAO.java package org.example.dao; import java.util.List; import org.example.bo.User; public interface UserDAO { public void create(User user); public List<User> getAllUsers(); public void update(User user); public void delete (User user); public User findById(Long id); } UserDAOHibernateImpl.java package org.example.dao; import java.util.List; import org.example.bo.User; public class UserDAOHibernateImpl extends AbstractDAOImpl implements UserDAO { public void create(User user) { getSession().save(user); } public void delete(User user) { getSession().delete(user); } @SuppressWarnings("unchecked") public List<User> getAllUsers() { return getSession().createCriteria(User.class).list(); } public void update(User user) { getSession().update(user); } public User findById(Long id) { return (User) getSession().load(User.class, id); } } 配置example.dao.xml <?xml version="1.0" encoding="UTF-8"?> <module id="example.dao" version="1.0.0"> <service-point id="UserDAO" interface="org.example.dao.UserDAO"> <invoke-factory> <construct class="org.example.dao.UserDAOHibernateImpl"> <set-object property="session" value="infrastructure:session" /> </construct> </invoke-factory> </service-point> <service-point id="UserService" interface="org.example.service.UserService"> <invoke-factory> <construct class="org.example.service.UserServiceImpl"> <service>UserDAO</service> </construct> </invoke-factory> <interceptor service-id="com.javaeye.tapestrying.TransactionInterceptor" /> </service-point> </module> 引用: @InjectObject("service:example.dao.UserService") public abstract UserService getUserService(); |
|
tapestry
2006-12-15
不好意思,是我的教程错误了,
<construct class="org.example.service.UserServiceImpl"> <service>UserDAO</service> </construct> 这种写法是通过构造函数注入的,改成下边的试试 <construct class="org.example.service.UserServiceImpl"> <set-service property="userDAO" service-id="example.dao.UserDAO"/> </construct> |
相关讨论
相关资源推荐
- hibernate-guides:Hibernate使用指南,持续更新中。。
- JavaEE--------Hibernate框架
- Hibernate - hibernate.cfg.xml配置文件详解
- spring-boot中使用jpa下hibernate的ddl-auto
- Hibernate入门指导 - Hibernate官方文档
- 2015-08-10-hibernate-hibernate找不到org.hibernate.Session类可能原因
- hibernate-redis使用
- 多租户--hibernate实现
- hibernate.cfg.xml---hibernate配置文件,基本版
- hibernate-release-5.0.7.Final