- 浏览: 695594 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
bboss-aop框架是一个基于动态代理技术实现的轻量级aop框架,提供基本的组件管理功能(支持组件单实例和多实例模式),
支持声明式事务管理,拦截器(可配置多个拦截器),以及依赖注入(提供防止循环依赖注入的功能),管理服务方法的同步调用。
后续的文章将介绍这些功能。本系列文章适用于bboss-aop-1.0.5,下载地址:
https://sourceforge.net/project/showfiles.php?group_id=238653&package_id=290546&release_id=658454
在介绍各个功能之前先介绍以下bboss-aop的xml配置文件的配置语法,非常简单。
1.bboss-aop的xml配置文件的配置语法
<!--
manager-config(manager+,managerimport*)
##
# 通过manager节点可以配置管理服务的一个实现或者多个实现者,这些实现者全部实现共同的接口(直接实现或者间接实现都可以)
# 一个manager节点配置多个接口的目的是为了进行方法同步调用,当然这种情况并不多见
# 通过singlable属性用来标识管理服务是否是单实例模式
##
manager(provider+,synchronize?,transactions?,reference*,interceptor*,construction)
manager-attributelist{
id-管理服务者id
singlable-是否是单实例模式
callorder_sequence-拦截器执行顺序,true按顺序执行,false按链式顺序执行,缺省值true
}
##
# 如果在系统中配置了多个拦截器,框架能够确保每个拦截器都被调用
# 调用的顺序为 拦截器配置的顺序
##
interceptor(pcdata)
interceptor-attributelist{
class-拦截器的实现类,所有的拦截器都必须实现
com.frameworkset.proxy.Interceptor接口
目前系统中提供了以下缺省拦截器:
数据库事务管理拦截器(com.chinacreator.spi.
interceptor.TransactionInterceptor),支持对声明式事务的管理
}
##
# 属性依赖注入节点,可以用来注入管理服务引用的其他管理服务
##
reference(pcdata)
reference-attributelist{
fieldname-对应的管理服务提供者中的字段名称,必选属性
refid-引用的管理服务的id,对应manager节点的id属性,
reftype-对应的管理服务提供者类型,可选属性,可以作为refid的辅助属性
class-直接应用class指定的一个实例对象
value-直接指定属性对应的标量值
refid,class,value三个属性只能任意指定一个
}
##
# 一个provider对应管理的服务的一个实现者
##
provider(pcdata)
provider-attributelist{
type-服务提供者标识id
used-服务提供者是否被启用,缺省值为false
class-服务提供者对应的class类
prior-provider调用的优先级
}
##
# construction节点用来实现构造函数的依赖注入(ioc)功能
##
construction(param*)
##
# synchronize节点用来配置多个provider中需要进行同步调用的方法
##
synchronize(method+)
synchronize-attributelist{
enabled-是否启用同步功能,如果没有启用同步功能
即使配置了多个服务提供者的同步方法,所有的同步功能将不起作用
}
##
# transactions节点可以配置需要进行声明式事务控制的方法
##
transactions(method+)
##
# method节点可以内嵌在synchronize和transactions节点中用来配置同步方法和事务控制方法
##
method(param*,rollbackexceptions?)
method-attributelist{
name-方法名称,name和pattern不能同时出现
pattern-匹配方法名称的正则表达式
txtype-需要控制的事务类型,取值范围:
NEW_TRANSACTION,
REQUIRED_TRANSACTION,
MAYBE_TRANSACTION,
NO_TRANSACTION
}
##
# param节点用来指定构造函数的参数,也用来指定同步方法和事务方法的参数
##
param(pcdata)
param-attributelist{
type-参数的类型,如果是构建函数的参数,那么将创建type对应的class的对象实例作为构建函数的实例参数
value-用来指定构造函数的参数值
refid-用来指定构造函数的引用其他对象标识
}
##
# rollbackexceptions节点内嵌在mehtod节点中,用来声明需要回滚事务的异常集,如果声明了事务回滚异常,
# 那么除了这些配置的异常(如果异常的type属性为INSTANCEOF,还包括异常的子类)、默认的SQLException、系统级别异常会回滚事务外,
# 其他的异常都不会导致事务回滚
# 如果事务方法没声明回滚异常,那么所有的异常都会导致事务回滚
##
rollbackexceptions(exception+)
##
# exception节点内嵌在rollbackexceptions节点中,用来声明需要回滚事务的异常,对应的异常将会导致事务回滚,
# 那么除了这些配置的异常(如果异常的type属性为INSTANCEOF,还包括异常的子类)、默认的SQLException、系统级别异常会回滚事务外,
# 其他的异常都不会导致事务回滚
##
exception(pcdata)
exception-attributelist{
class-异常对应的class
type-IMPLEMENTS,INSTANCEOF
}
##
# managerimport节点可以在bboss-aop配置文件中导入其他的管理服务配置文件
#
##
managerimport(pcdata)
managerimport-attributelist{
file-导入其模块配置文件
}
-->
以下是一个简单的带构造函数注入的配置实例:
<?xml version="1.0" encoding='gb2312'?>
<manager-config>
<manager id="constructor.a"
singlable="true">
<provider type="A"
class="com.chinacreator.spi.constructor.ConstructorImpl" />
<construction>
<param value="hello world"/>
<param refid="interceptor.a"/>
<param type="com.chinacreator.spi.constructor.Test"/>
</construction>
</manager>
</manager-config>
了解了基本的语法后,再来看一下bboss-aop框架的bean管理组件及其通过bean管理组件获取管理服务实例的具体方法。
2.bboss-aop框架的bean管理组件及其通过bean管理组件获取管理服务实例的具体方法
bean管理组件:
com.chinacreator.spi.BaseSPIManager
BaseSPIManager中定义的获取管理服务实例的静态方法:
/**
* 获取管理服务的实例方法
* @param providerManagerType String 对应于配置文件中manager节点id属性的值
* @return Object 本方法返回管理服务中的第一个provider的实例对象Object
* @throws SPIException 如果获取管理服务失败将抛出SPIException,失败的原因可能是,对应的管理服务不存在
* 或者配置不正确,或者是出现了循环依赖注入(属性依赖注入和构建函数依赖注入)的情况
*/
public static Object getProvider(String providerManagerType) throws SPIException
/**
* 获取管理服务的实例方法
* @param providerManagerType String 对应于配置文件中manager节点id属性的值
* @param sourceType String 对应于配置文件中provider节点type属性的值
* @return Object 本方法返回管理服务中type为sourceType的provider的实例对象Object
* @throws SPIException 如果获取管理服务失败将抛出SPIException,失败的原因可能是,对应的管理服务不存在
* 或者配置不正确,或者是出现了循环依赖注入(属性依赖注入和构建函数依赖注入)的情况
*/
public static Object getProvider(String providerManagerType,String sourceType) throws SPIException
获取组件实例示例:
以第一节中的配置文件为例,组件com.chinacreator.spi.constructor.ConstructorImpl直接(也可以间接)实现了
接口com.chinacreator.spi.constructor.ConstructorInf
try {
ConstructorInf a = (ConstructorInf)BaseSPIManager.getProvider("constructor.a");
//等价的调用ConstructorInf a = (ConstructorInf)BaseSPIManager.getProvider("constructor.a","A");
a.testHelloworld();
} catch (SPIException e) {
e.printStackTrace();
}
评论
发表评论
-
bboss ioc快速入门教程
2017-08-13 11:28 1276bboss是一个非常不错的ioc框架,功能类似于spr ... -
bboss ioc配置文件中使用外部属性文件介绍
2016-09-20 11:35 1145bboss ioc配置文件中使用外部属性文件介绍 与spri ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 918首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss ioc提供的组件初始化工具类介绍
2016-03-18 16:17 738bboss ioc提供的组件初始化工具类介绍 bboss i ... -
扩展bboss ioc语法实现自定义的ioc依赖注入功能
2015-01-20 23:08 1331bboss ioc配置语法简洁而严谨,提供了强大的依赖注入功能 ... -
bboss序列化cglib代理对象方法介绍
2014-06-22 15:14 1162本文介绍bboss序列化cglib代理对象方法。经过cglib ... -
bboss自定义类对象序列化机制介绍
2014-05-26 23:32 1471bboss自定义类对象序列 ... -
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
2014-04-12 14:31 1657bboss将一个组件同时发布为webservice,hessi ... -
bboss发布apache cxf 2.7.6服务和定义客户端服务实例可能产生冲突解决办法
2014-03-22 23:16 1091bboss发布apache cxf 2.7.6服务和定义客户端 ... -
bboss 发布和使用hessian服务方法介绍
2013-02-25 23:21 2114hessian是一款性能非常不错的RPC通讯组件,最近抽空将b ... -
bboss quartz组件全攻略
2013-01-27 13:31 2622bboss quartz组件全攻略 本 ... -
bboss aop拦截器使用简介
2012-11-29 23:20 1209bboss aop拦截器使用简介, ... -
bboss ioc容器之间组件引用方法简介
2012-08-04 15:09 1337bboss ioc容器之间组件引用方法简介。我们可以在ioc容 ... -
Rest协议框架-bboss rpc
2012-08-03 12:51 1356restful风格rpc服务协议rest,定义的语法如下: ... -
解决cxf+bboss发布的webservice缺少<wsdl:types>和<wsdl:message>标签的问题
2012-06-19 10:11 1793cxf+bboss发布webservice服务 ... -
开源工作流引擎activiti与bboss整合使用方法浅析
2012-05-01 11:35 5224本文介绍开源工作流引擎activiti与bboss ioc框架 ... -
bboss aop/ioc组件配置语法诠释
2012-03-01 18:38 2206这篇文章全面介绍bboss ioc 配置语法,希望对 ... -
bboss aop/ioc依赖注入功能介绍
2012-02-12 14:40 1769bboss aop 3.5及后续版本中改进的ioc依赖注入功能 ... -
Bboss和xstream序列化/反序列化性能对比
2011-10-13 00:18 1985Bboss和xstream序列化/反序列化性能对比 本报告分别 ... -
bboss 组件容器的使用方法浅析
2011-08-20 00:21 1666本文重点介绍bboss 中的4大组件容器的特点及使用方法 4 ...
相关推荐
官方版本,亲测可用
官方版本,亲测可用
在Java中,传统的JDBC编程方式往往需要编写大量重复的SQL代码,而ORM框架如BBoss-DB-Elasticsearch-Tool则通过元数据(如注解或XML配置)将Java对象与数据库表映射起来,实现了数据的透明访问。这极大地提高了开发...
本bboss-datatran项目基于Java开发,包含591个文件,包括Java源代码、Markdown文档、GIT忽略文件、Gradle构建文件、Properties配置文件、Preferences配置文件、XML配置文件、GIT属性文件、LICENSE文件和PNG图片。...
环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+从源代码构建首先从获取源代码然后转到目录bboss-elastic-tran下的cmd窗口并运行gradle build命令: ...
官方版本,亲测可用
bboss-datatran 支持多种数据源的接入,如关系型数据库(MySQL、Oracle等)、NoSQL数据库(HBase、MongoDB等)、消息队列(Kafka、RabbitMQ等)以及文件系统(HDFS、FTP等)。通过内置的适配器,用户可以方便地将...
首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要使用外部属性文件时,我们可以创建一个独立的`.properties`文件,如`config.properties`,这个...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
整合springboot+bboss+elasticsearch,实现java对es的操作 需要修改的配置 application.yml文件: basePath:对应mapper.xml文件存放的位置 indexs:es的全部索引,以逗号分隔 es: basePath: esmapper indexs: ...
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...
官方版本,亲测可用
1. **搭建bboss elasticsearch开发环境.wmv**: 这个视频将指导你完成从安装Elasticsearch到配置BBoss的全过程,确保你的开发环境正确无误。 2. **bboss elasticsearch开发入门教程.wmv**: 通过实例演示,讲解如何...
bboss hadoop集群搭建 hadoop集群搭建 hadoop集群搭建 hadoop集群搭建 hadoop集群搭建
通用高性能Elasticsearch highlevel java rest client 客户端,兼容elasticsearch 1.x,2.x,5.x,6.x,7.x,8.x,兼容spring boot 1.x,2.x,开箱即用
然后切换到bboss-elasticsearch目录下的cmd窗口,运行gradle build命令: gradle publishToMavenLocal 从源代码指南构建: 如何使用 Elasticsearch BBoss。 首先将BBoss的maven依赖添加到你的pom.xml中: < ...
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用