|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。
前次利用Seam主动天生了一个CRUD的例子,厥后想仍是本人自力更生做一个例子看看,因而入手下手下手。
起首利用JBossTools工具天生项目,在天生项目标导游中,假如项目范例选择ear,则会天生四个项目,分离对应war、ear、ejb、test,以为如许太甚烦琐,仍是选择war范例,又想要不利用tomcat作为运转服务器吧,由于JBoss也不太熟习。没想到这一试倒试出成绩来了,假如完整利用导游天生项目,选择tomcat作为运转服务器,则项目基本没法运转起来,老是提醒短少这个jar,谁人jar。好,又换回JBoss,没成绩了。细心看了一下,本来在主动天生项目标WebContent/WEB-INF/lib目次中,只要也许十几个jar,连Hibernate的jar都没有,而在JBoss的Server/default/lib目次下则甚么jar都有,怪不能不堕落。
第一个教导:仍是先利用JBoss作为运转情况,等全部Seam都弄熟了,再配一个Tomcat的运转情况。
持续,将本来项目中的一个通用DAO和一个UserService拷贝过去,代码以下,启动服务器报错。分离为以下毛病信息:
第二个毛病办理:Causedby:java.lang.IllegalArgumentException:@PersistenceContextmayonlybeusedonsessionbeanormessagedrivenbeancomponents:genericDao
既然提醒@PersistenceContext只能用在SessionBean中,由于本来的代码是利用的Spring框架,想了好长工夫,在WebContent/WEB-INF/component.xml中看到这么一段,那末是否是经由过程@In来注进entityManager呢,修正@PersistenceContext为@In,编纂器主动提醒没有发明称号为em的Component(这点仿佛不错),因而再修正为@In("entityManager"),重启服务器,该成绩办理。
<persistence:managed-persistence-contextname="entityManager"auto-create="true"entity-manager-factory="#{testEntityManagerFactory}"/>
第三个毛病办理:Causedbyorg.jboss.seam.RequiredExceptionwithmessage:"@Inattributerequiresnon-nullvalue:userService.genericDao"
将UserService中的@In修正为@In(create=true,required=true)办理此成绩。
办理上述几个成绩后,本人的例子终究运转起来了:-)
下一篇关于SeamInAction中对JSF的先容及Seam怎样加强JSF。
-------------------------------------------------------------------------------------------------
<p>
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。 |
|