EJB3注解详解:@EJB与@Resource的使用
需积分: 0 147 浏览量
更新于2024-11-11
收藏 113KB PDF 举报
"EJB3中的注释主要涵盖了两个关键的注解:@EJB和@Resource。这些注解在企业级JavaBean(EJB)3.0版本中被用来简化组件的装配和依赖注入,使得开发者无需编写过多的XML配置文件就能管理Bean之间的交互和外部资源的引用。
1. @EJB注释
@EJB注解用于注入EJB Bean实例,它允许开发者直接在字段或方法上声明依赖关系。有两个主要属性:
- `beanName`:用于指定EJB的类名,不包含包名。如果一个接口只有一个实现,通常可以省略此属性,因为编译器能够自动推断。
- `mappedName`:用于设置Bean实例在Java Naming and Directory Interface (JNDI)中的全局名称。这样,容器会在运行时查找并注入对应的Bean。
例子中提到,如果使用JBoss-4.0.5.GA,@EJB注解的位置已经从`javax.annotation`包移动到了`javax.ejb`包。这意味着在编写代码时,需要导入正确的包来使用这个注解。
2. 依赖注入之@Resource
@Resource注解用于注入JNDI中的任何资源,如数据源、邮件会话等。通过这个注解,开发者可以直接将应用服务器提供的服务绑定到类的成员变量上。
示例展示了如何使用@Resource注解注入数据源:
```java
@Resource(mappedName="java:/DefaultMySqlDS")
DataSource myDb;
```
这里的`java:/DefaultMySqlDS`是全局JNDI名称,对应数据源DefaultMySqlDS。如果资源位于本地的`java:comp/env`命名上下文中,只需要提供映射名称即可。
3. 实体Bean与persistence.xml
实体Bean由实体类和`persistence.xml`文件组成。`persistence.xml`通常位于项目的`META-INF`目录下,它定义了实体Bean如何与数据库交互,包括数据源的引用以及EntityManager的行为。
在`persistence.xml`文件中,配置了一个名为"xxx"的`persistence-unit`,指定了数据源`java:/MySqlDS`和Hibernate属性。例如,`hibernate.hbm2ddl.auto`属性设为`create-drop`,表示在应用启动时,Hibernate会自动创建数据库表结构,如果存在则先删除再创建。
总结来说,EJB3.0通过注解大大简化了开发过程,提供了更加直观和便捷的方式来管理Bean实例和资源的注入。@EJB和@Resource注解是其中的关键,它们使得开发者能更专注于业务逻辑,而不是繁琐的配置工作。而`persistence.xml`文件则是实体Bean与数据库交互的桥梁,定义了数据源和持久化策略。"
2008-09-26 上传
2010-02-27 上传
2021-12-18 上传
2007-12-23 上传
2022-09-22 上传
2008-10-24 上传
2021-09-27 上传
2022-11-18 上传
2012-02-20 上传
cn_hym
- 粉丝: 4
- 资源: 165
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查