首页 > 其他 > 详细

EJB3 阶段总结+一个EJB3案例 (2)

时间:2016-01-21 00:29:22      阅读:221      评论:0      收藏:0      [点我收藏+]

这篇博文接着上一篇博文的EJB案例。

在上一篇博文中,将程序的架构基本给描述出来了,EJB模块分为5层。

1)DB层,即数据库层

    在则一部分,我使用的数据库为mysql。在EJB程序中,访问数据库是通过Jboss中配置好的数据源进行的,然后在数据库中建立相应的数据库,不用建立表,在程序中使用JPA后通过Jboss启动会自动在数据库中间表

    具体的,可以看我之前写过的博文 wildfly8+jpa EntityBean 简单入门 在这篇博文中具体讲解了如何在Jboss中绑定一个数据源

2)dao层

    在这一层中,首先设计好具体的对象EntityBean,然后通过JPA的注解,将EntityBean和数据库进行映射。

    在这里还要使用一个EntityManage对象,该对象用于操作数据库,通过该对象可以使程序进行持久化,免去了JDBC时复杂的代码,该对象可分为容器管理和Bean管理,这里使用的是容器管理的EntityManage,通过@PersistenceContext注解将对象注入

    并且在该层中,通过接口的方式实现该层,并将该层定义为Local和Stateless,应为该层主要是用于该EJB的内部使用,是在一个JVM中的调用所以使用@Local注解的方式更加的节省资源。

    在该层中的方法均抛出继承RunTimeException的异常,为之后的Rollback做准备

3)Business层

    该层是业务层,其设计方式同dao层类似,均为实现类和接口方式,使用@Stateless和@Local将接口继续暴露给下一层。

    使用@EJB注解调用dao层的对象。(@EJB只能注入EJB对象,@Resource可以注入普通对象)

    在该层中,继续抛出RunTimeException异常,以支持回滚,在此处使用容器管理的事物方式,不需要代码管理开头结束,通过RunTimeException来管理

4)Service层

    服务层,主要是用于暴露给其他模块调用,在这里使用的是WebService的方式,也可以通过Remote的方式(个人觉得太low)

EJB3 阶段总结+一个EJB3案例 (2)

原文:http://www.cnblogs.com/welv/p/5146857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!