其常用属性如下:
beanName: 指定 EJB 的类名(不带包名),
mappedName: 指定 Bean 实例的 JNDI 名。
例如:
A 、 @EJB(beanName=” A”)
IA a;
A 就是 IA 的实现类,如果 IA 的实现只有一个,那么这里可以不指定。
注意: 学习 EJB3.0 时,我用的是 JBoss-4.0.5.GA 。 JBoss-4.0.5.GA 把以前版本 @EJB 注释从 javax.annotation 包移到了 javax.ejb 中了。
B 、依赖注入之 @Resource
@Resource 注释,注入来自 JNDI 的任何资源。
例如:
@Resource (mappedName=”java:/DefaultMySqlDS”)
DataSource myDb;
“java:/DefaultMySqlDS” 是数据源 DefaultMySqlDS 的全局 JNDI 名。如果 JNDI 对象在本地 (java:comp/env)JNDI 目录中,则只需给定它的映射名称即可。
2. 实体Bean
一个实体 Bean 由实体类和 persistence.xml 文件组成。 Persistence.xml 文件在 Jar 文件的 META-INF 目录。 Persistence.xml 文件指定实体 Bean 使用的数据源及 EntityManager 对象的默认行为。 Persistence.xml 文件的配置说明如下:
<persistence>
<persistence-unit name="xxx">
<jta-data-source>java:/ MySqlDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
</persistence>
Persistence-unit 节点可以一有一个或多个,每个 persistence-unit 节点定义了持久化内容名称、使用的数据源名称及 Hibernate 属性。 Name 属性用作设置持久化名称。 jta-data-source 节点用作指定实体 Bean 使用的数据源名称,指定数据源名称时 java:/ 前缀不能缺少,数据源名称大小写敏感。
Properties 节点用过指定 Hibernate 的各项属性,如果 hibernate.hbm2ddl.auto 的值设为 create-drop ,在实体 Bean 发布及卸载时将自动创建及删除相应数据表。
注意: 在编写 EJB 的实体 Bean 时一定要注意,必须有一个无参数的构造函数,当然如果你没写任何构造函数, java 会自动给你一个默认的无参数的构造函数。但是当你自己写了有参数的构造函数时,千万别忘记了加上一个无参数的构造函数,最好的习惯是在建类时就把无参数构造函数写上,这样就不会出错。
A. 写在类声明之前的有:
a. @Entity ,以表明此 Bean 为 EntityBean 。
b. @Table(name=”TableName”) ,表示此实体