Jboss seam + EJB3 + Hibernate3

jboss seam + EJB3 + JPA ( HIBERNATE 3)

http://docs.jboss.org/weld/reference/latest/en US/html/intro.html#bean-definition

Java EE6规范中包含的Web Beans规范已经更名为Java EE 上下文和依赖注入规范(JSR-299)。相应的,JBoss对此规范的实现也更名为Weld。广大Java EE开发者需要注意的是,JBoss Seam是JSR-299规范的超集。未来JBoss Seam 3构建在Weld内核基础上。


虽然把用在web和企业应用中的java 类称为bean已经有年头了,但在Java EE 6之前,并没有对"bean"进行过明确的定义。即使在EE的规范中,被称为“bean”的东西也有不同的含义,EJB bean,JSF的managed bean。此外,还有第三方的框架给"bean"赋予了各自的含义,比如Spring和Seam。虽然bean这个名词大家都很熟悉,但一直没有给他一个通用的、明确的定义。
最终Java EE6在Managed Beans规范中给出了一个通用的定义。Managed Beans被用来指代那些由容器管理(container-managed)的对象,他们和普通的POJO在编程上的区别很小。主要用来提供一些基本服务,比如资源注入,lifecycle回调和关注点切入等。一些辅助规范,比如EJB和CDI,是建立在这个基础模型之上的。这些规范一起为Java EE平台建立了统一的bean概念和轻量组件模型。
通常情况下,任何定义了默认构造方法(无参数)的Java类(或者在构造方法前加了@Inject注解)都是bean。任何JavaBean和EJB session bean都是,你不需要给他们添加任何特殊的代码或配置,只需要把他们打包在含有META-INF/beans.xml的包里,就可以把这些bean注入到他们的调用者之中了(打包是指jar,war或者EJB jar等)。你或许想要了解Why Is Beans xml Required In CDI
你过去编写的那些JavaBean和EJB目前不能利用CDI规范中定义的那些新服务,但你可以把他们和CDI一起用,也就是说,让container来创建和销毁他们的实例;把他们放在特定的context中;把他们注入到其他bean中;把他们用在EL表达式中;用qualifier annotation来区分他们;甚至给他们加上interceptors和decorators。完成这些并不需要你修改代码,好吧,最多需要你加上一些annotations。

你可能感兴趣的:(hibernate3)