bboss 项目下载地址:
https://sourceforge.net/project/showfiles.php?group_id=238653
只有通过BaseSPIManager提供的两个方法获取接口实例,然后在接口实例上调用事务方法,声明的事务管理才会生效,否则无效。举例说明如下:
假如接口AI和接口实现类A,接口中定义了方法handle,并且将该方法声明为事务方法,
在配置文件中做以下的配置:
<manager id="test.A" singlable="true" >
<provider type="DB" default="true"
class="test.A" />
<transactions>
<method name="handle" txtype="REQUIRED_TRANSACTION"/>
</transactions>
</manager>
声明组件的管理id为test.A,我们通过以下两种方式获取接口实例:
方法1 直接创建对象实例a,在实例a上调用handle方法
AI a = new A();
a.handle();
采用这种方式时,为handle方法声明的事务不会生效。
方法2 通过BaseSPIManager提供的接口获取接口实例
AI a = (AI)BaseSPIManager.getProvider("test.A");
a.handle();
采用这种方式,为handle方法声明的事务才会生效。
业务组件必须由两部分组成:组件接口,组件接口的实现类;这是因为通过BaseSPIManager的两个方法所获取到的对象必需是一个接口对象,这里不能直接将返回值直接转换为具体的实现类型,以下的用法是正确的:
AI a = (AI)BaseSPIManager.getProvider("test.A");
以下的用法是不正确的,但是编译时不会报错,运行时会报类型转换错误,这是因为方法返回的是一个实现接口AI的代理对象,而不是一个A类型的对象了:
A a = (A)BaseSPIManager.getProvider("test.A");
- 大小: 2.2 KB
分享到:
相关推荐
11.15 实例——获取报表列表和预览报表 第12章 InterBase组件页 12.1 InterBase组件页 12.2 InterBase Admin组件页 12.3 InterBase组件页应用实例 第13章 Server组件页 13.1 Word和Excel程序对象 13.2 ...
3. 在ASP页面中引用DLL:通过`<% @Import Namespace="YourNamespace" %>`或`CreateObject()`函数来引用和实例化DLL中的对象。 4. 调用DLL方法:通过实例化的对象调用DLL中定义的方法,执行所需功能。 在标签"asp ...
3.2.1 加载DLL和获取创建接口的函数 3.2.2 创建接口 3.2.3 使用接口的函数 4 接口的生命期 4.1 问题 在DLL中使用new创建接口后,在用户 程序使用完该接口后,如果使用delete 直接删除,会出现内存异常. 每...
Java调用COM组件是Java与非Java环境交互的一种方式,主要应用于Windows平台,因为COM(Component Object Model)是微软提出的一种面向对象的技术,主要用于构建Windows应用程序和服务。在Java中调用COM组件,可以...
本教程将深入探讨以下Android组件:网格视图、图像切换、列表视图、单选按钮组、进度条、画廊、日期选择器以及复选框,并通过实例来帮助你更好地理解和应用这些组件。 1. **网格视图(GridView)** 网格视图是一种...
通过深入学习这些实例,你可以掌握Flex中行为和特效组件的使用方法,提升富互联网应用的用户体验。这些技术不仅可以应用于Flex,还可以在其他基于Adobe AIR或Flash Player的平台上发挥重要作用。
弹出管理器(Pop-up Manager),用于创建和管理浮动窗口;以及动画(Animation)组件,为应用添加动态效果。 在这些实例中,你将接触到ActionScript的面向对象编程、事件处理机制、数据绑定、样式和皮肤的定制等...
注意:如果获取的是一个子组件,那么通过ref就能获取到子组件中的data和methods 添加ref属性 这是H1 <hello ref=ho></hello> <button @click=getref>获取H1元素</button> 获取注册过 ref 的所有...
本教程将深入探讨Swing组件的实例应用,帮助开发者更好地理解和掌握Swing在实际编程中的运用。 一、Swing组件基础 Swing组件主要由JComponent类及其子类构成,包括按钮(JButton)、文本框(JTextField)、标签...
在本实例中,我们将深入理解Apollo中的"通用组件"(common_component),通过具体的代码示例来探讨其工作原理和使用方法。 首先,我们要明白 Apollo 的核心组件包括了服务端(Apollo-ConfigServer)和客户端...
Flex框架提供了强大的布局管理器和组件库,使得开发者能够创建灵活、响应式的用户界面。本篇文章将深入探讨“flex组件之格式化组件实例源码”,并分析其中包含的7个实例。 首先,格式化组件在Flex中扮演着关键角色...
**VC++ 编写COM组件教程** COM(Component Object Model)是微软提出的一...以上内容涵盖了创建和使用COM组件的基本知识,通过学习和实践,你可以熟练地利用VC++开发出高效的COM组件,并在不同的应用程序中灵活使用。
在本文中,我们将详细探讨ASPUpload组件的使用方法、功能特性以及在不同操作系统上的兼容性。 首先,ASPUpload组件提供了一个简单易用的API,开发者可以轻松地在ASP脚本中集成文件上传功能。它支持多文件同时上传,...
描述中的“Delphi组件应用实例源码”提示我们,这些实例不仅提供了理论知识,还包含可以直接运行和学习的源代码。开发者可以通过阅读和修改这些代码,来提高自己的Delphi组件编程技能。 标签“Delphi”进一步确认了...
本文将详细介绍如何在Vue中使用`ref`来实现跨层级组件实例的获取。 首先,让我们理解`ref`的基本用法。在模板中,可以给任何元素或组件添加`v-ref`指令,这样Vue会在该元素或组件被创建时将其引用绑定到Vue实例的一...
Flash组件是一组预先设计好的用户界面元素,如按钮、文本输入框、滑块等,开发者可以将这些组件直接拖放到舞台上,然后自定义其属性和行为,以便快速构建交互式的Flash内容。这些组件大大提高了开发效率,降低了设计...
1. **使用SQL Server Browser服务**:SQL Server Browser服务是关键组件,它提供关于网络上所有SQL Server实例的信息。开启该服务后,可以通过UDP 1434端口查询到公开的SQL Server实例名和版本信息。 2. **使用SQL ...
在AngularJS 1.5.9版本中,开发自定义组件是提高代码复用性和模块化的重要手段。这里我们关注的是一个特定的组件——“分页”组件。这个组件实例提供了一种优雅的方式来处理大量的数据,允许用户通过点击按钮来浏览...
但要注意,直接操作DOM和组件实例可能会影响代码的可维护性和组件的独立性。更优雅的方法是使用vue-ref插件,该插件允许在组件树中传递和访问数据,而不必直接操作DOM。总之,保持组件通信的清晰和简洁,有助于我们...