Java EE 5.0例程初探 EJB3.0的实现和对AJAX的支持

        一直关注Java EE 5.0的发布,其中EJB3.0和Ajax的支持,让我很感兴趣.
       Java EE 5.0 FCS版本发布后,我连夜下载了它的安装包和PetStore 2.0例程.
       安装Java EE 5.0很简单,为了不在开发环境的配置上走弯路,我使用了Sun的NetBeans 5.0而不是我常用的Eclipse 3.X.
       我把Java EE 5.0安装在了C:/Sun/AppServer中,其中自带了Sun的服务器
       其中代码目录结构为:
       -samples
       -samples/bp-project          类似于一个Ant配置文件支持集合,,用来支持BulePrint的配置
       -samples/javaee5               一个CMP例子,几个其他的EJB例子
       -samples/quickstart            一个超简单的web应用例子
       QuickStart毫无悬念的配置成功
        在netBeans打开 CMP的例程项目,,运行默认得Ant.              
        配置我最感兴趣的CMP时发现问题,首先提示找不到 path/to/passwordfile
       Google一下,发现需要修改 bp-project/中的build.properties中的一个配置属性
       javaee.server.passwordfile=C:/Sun/AppServer/samples/password.txt
       password.txt是一个纯文本放置了明文的AppServer的管理员口令,,安装J2EE5时需要设置的
       修改后,,再次Ant,发现数据库未能配置...发现没有打开JavaDB,打开JavaDB,执行setup/build.xml中相关Ant任务, 数据库部署成功.
       再次运行还是不行,后来才发现可能启动次序的原因,,好像需要先启动javaDB再启动AppServer
       继续Ant,终于成功了,,真是热泪盈眶啊.....开始对javaDB不熟悉,,试了半天,,发现URL中带了CreateDB参数就可以自动创建不存在地DataBase真是#@%#@%@#%,还是在AppServer的管理平台中看了pool Connection的参数才明白的...
       运行成功后,,再看代码,,真的......好简单
       值得注意的是其中的EntityManager接口,,应该EJB3.0中简化实体处理的核心了,,呵呵配置在persistence.xml中,,有EntityManager的工厂实现,,这个例程中用的是Oracle的Top-Link,很明显,,应该很快就会有
       Hibernate,JDO,iBatis的EntityManager的工厂实现,,而实际的业务层代码里面
       Java代码的结构
          Common   定义的异常
          Session/EJB 业务逻辑对象
          persistence 实体对象
    在实体对象中,,可以通过元数据描述定义各种查询和关系
例如       @Entity
@NamedQueries(
    value={@NamedQuery(name="findCustomerByFirstName", query="select object(c) from Customer c where c.firstName= :firstName"),
    @NamedQuery(name="findCustomerByLastName", query="select object(c) from Customer c where c.lastName= :lastName")}
)
有点像Hibernate3和iBatis中的声明的查询,,不过不用XML直接用元数据描述....
    在业务对象中,,可以通过元数据描述声明事务
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
有点类似Spring的事务声明....
   没有N多XML了,,没有N多看起来很类似的重复文件了,,,感觉真好......
   目前看来,,EJB3.0这一块还是很不错的...确实可能成为一个里程碑式的发布....
接下来按网上的说法,,我去Sun Down了PetStore 2.0的例程,,艰苦的配置后
    特别是 里面的例程明显优一个Bug,,sun-web.xml中指定的ContextPath为 javapetstore-2,,而无数的页面表面ContextPath应该是PetStore....在NetBeans中运行主程序后,,在IE中,,还是很不错的AJAX效果...然而在FireFox,,N种效果都没有出来....考虑这个BulePrint还没有完全发布...希望正式发布支持FireFox就好了
    还在研究中...下次再说吧

    初步感觉这个PetStore的实用性好像增加了一些,,有Upload的支持了,,呵呵.
    看了一下,,PetStore的实体化处理,,就直接放在了JavaBean中,,但明显使用了EJB3.0,,是否意味者,未来,实体处理部分可以脱离EJB容器来独立实现.....
    只要支持元数据解析和EntityManager,,这两个重要的特性,,PetStore是否就可以直接移植过去?

   



      
   
      

   

         
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值