实例化 bean。
基于相对于某个类加载器的名称创建 bean。此名称应该是以句点分隔的名称,例如 "a.b.c"。
在 beans 1.0 中,给定名称可以指示一个序列化对象或一个类。其他机制可以在将来添加。在 beans 1.0 中,首先试着将 beanname 作为序列化的对象名称对待,然后将它作为类名称对待。
在将 beanname 用作序列化对象名称时,要将给定的 beanname 转换为资源路径名,并添加后缀 ".ser"。然后试着从该资源加载序列化对象。
例如,给定一个 beanname "x.y",beans.instantiate 首先将试着从资源 "x/y.ser" 中读取一个序列化对象,如果失败,它会试着加载类 "x.y" 并创建该类的一个实例。
如果 bean 是 java.applet.applet 的子类型,则为它提供一些特殊的初始化。首先,向它提供默认的 appletstub 和 appletcontext。其次,如果根据类名称实例化 bean,则调用 applet 的 "init" 方法。(如果 bean 被反序列化,则跳过此步骤。)
注意,对于作为 applet 的 bean,由调用者负责在 applet 上调用 "start"。为了运转正常,应该在已经将 applet 添加到可见 awt 容器中后执行该步骤。
注意,通过 beans.instantiate 创建的 applet 运行在与浏览器中运行的 applet 稍有不同的环境中。尤其要指出的是,bean applet 无法访问 "parameters",因此它们可能希望提供属性 get/set 方法来设置参数值。建议 bean-applet 开发人员对照 jdk appletviewer(对于引用浏览器环境)和 bdk beanbox(对于引用 bean 容器)来测试他们的 bean-applet。
- 参数:
cls
- 应该在其中创建 bean 的类加载器。如果该参数为 null,则使用系统类加载器。beanname
- 类加载器中 bean 的名称。例如 "sun.beanbox.foobah"beancontext
- 在其中嵌套新 bean 的 beancontext
iis7站长之家
- 用于新 bean 的 appletinitializer
- 抛出:
classnotfoundexception
- 如果找不到序列化对象的类。
ioexception
- 如果发生 i/o 错误。