- 浏览: 697365 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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配置文件编写和加载方法介绍
bbossgroups-3.1 发布,新增组件异步调用功能,对mvc框架功能做了进一步的改进,丰富了数据绑定机制,标签库修复了jquery ajax提交和装载页面中文乱码问题,
整个框架相比以前的版本性能更好,更加简单易用。为了更好地帮助开发人员的使用,提供了以下资源:
bbossgroups源码工程(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/bbossgroups-3.1-src.zip/download)
mvc框架的demo war包(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/mvcdemo-war.zip/download)
简单mvc eclipse开发工程,开箱即用(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/mvcdemo-eclipse.zip/download)
bbossgroups 培训ppt(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/bbossgroups%203.1%20in%20action.zip/download)
bbossgroups 包含以下子工程:
1.bboss-aop, an aop framework.(ioc ,rpc[jms,mina,jgroups,cxf webservice,rmi,netty,rest,组播,多播],
bean component,cxf webservice component framworkset,jms components frameworkset,plugin security components and so on).
支持组件方法异步调用。
2.bboss-persistent, a persistent framework().
a.灵活的事务管理(声明式事务管理,可编程事务管理,java注解事务管理,jdbctemplate事务管理,五种经典的事务类型,支持事务嵌套,支持多数据库分布式事务)
b.灵活的访问数据库的接口(普通sql操作,预编译sql操作,普通/预编译批处理操作,存储过程,函数)
c.一套经典的数据库操作标签库(增删改查,普通sql操作,预编译sql操作,普通/预编译批处理操作)
d.经典的多数据库连接池配置管理和使用方法(所有的数据库操作接口可以直接指定连接池的名称,方便地实现对不同数据库的操作)
3.bboss-taglib, a web layer taglib framework(list tag,pageine list tag,detail tag ,logic tag,tree tag,tabpane tag,dbutil tag).
4.bboss-event, an event framework(local event,remote distribute event framework base aop rpc framework).
5.bboss-util, an utility framework.
6.antbuildall, ant build project that build up projects.可以运行antbuildall下的run.bat命令编译所有的子项目,并且更新相应工程的依赖jars。
7.apache-ant-1.7.1 所有工程构建依赖的ant环境,bbossgroups的构建无需依赖外部ant环境,每个子工程下都有相应的执行ant的bat命令文件,直接运行这些bat就可以构建相应的
工程,构建的目标文件存放在相应工程的distrib目录下面。
bbossaop\run.bat
bbossevent\run.bat
bboss-mvc\build.bat
bboss-persistent\run.bat
bboss-taglib\run.bat
bboss-util\run.bat
8.bboss-mvc,bboss mvc 框架隶属于开源项目bbossgroups,是基于bboss aop框架开发的轻量级mvc框架,提供以下功能:单方法action,多方法action,注解action 支持restful
提供数据绑定功能提供国际化功能提供自定义主题功能提供一套界面展示标签提供数据自动校验功能,
bboss-mvc提供多文件上传功能的支持,分页控制器的支持。能够非常方便地和jquery,exjs等流行的技术框架使用。
9.文档 目录包含mvc框架开发文档、framework 开发文档和bboss aop框架的技术使用文档、ppt培训文档等等
bboss group project blog:
http://blog.csdn.net/yin_bp
http://yin-bp.iteye.com/
bboss group project sourceforge site url:
http://sourceforge.net/projects/bboss/files/
release version : bbossgroups-3.1
release date: 2011/05/02
-----------------------------------------------------------------------------------------------****
release futures:
3.1 版本新增组件异步调用功能,对mvc框架功能做了进一步的改进,丰富了数据绑定类型,标签库修复了jquery ajax提交和装载页面中文乱码问题,
整个框架相比以前的版本性能更好,更加简单易用。为了更好地帮助开发人员的使用,提供了以下资源:
mvc框架的demo war包
简单mvc eclipse开发工程,开箱即用
------2011-04-30------------
o mvc框架绑定参数注解指定日期转换格式,以便保证按原始数据格式将参数转换为正确的日期
o mvc框架可以将日期类型(java.util.Date/java.sql.Date/java.sql.Timestamp)转换为long类型数据,也可以将long数据转换为日期类型(java.util.Date/java.sql.Date/java.sql.Timestamp),
也可以进行long数组和日期类型(java.util.Date/java.sql.Date/java.sql.Timestamp)数组的相互转换
o 修复mvc框架控制器组件解析异常:
java.lang.IllegalArgumentException: Class must not be null
at org.frameworkset.util.Assert.notNull(Assert.java:112)
at org.frameworkset.util.annotations.AnnotationUtils.findAnnotation(AnnotationUtils.java:129)
at org.frameworkset.web.servlet.handler.HandlerUtils.determineUrlsForHandler(HandlerUtils.java:1965)
------2011-04-25------------
o 持久层框架中修复获取数字类型的值时,一旦rs中返回null时,没有正确获取数字缺省值的问题
ValueExchange.convert方法
o 标签库中修改字符串过滤器,解决jquery或者ajax数据请求时,分页查询的中文乱码问题,改进字符串过滤器的性能
------2011-04-24------------
o 改进webservice服务装载功能,可以从mvc和所有的applicationcontext中配置和装载webservice服务:
Mvc框架的ws服务无需特殊处理
普通的applicationcontext容器中的ws服务对应的模块配置文件需要配置在org/frameworkset/spi/ws/webserivce-modules.xml文件中
------2011-04-21------------
o 增加组件异步调用机制,使用方法参考测试用例:
/bbossaop/test/org/frameworkset/spi/asyn/AsynbeanTest.java
可以通过Async注解标注组件中需要异步执行的方法即可,可以指定超时时间,是否需要返回结果,是否需要回调处理返回结果
------2011-04-20------------
o 完善Pro对象对ProList,ProSet,ProMap,ProArray的处理机制
o ApplicationContext组件新增一组获取ProArray对象的接口
public ProArray getArrayProperty(String name) ;
public ProArray getProArrayProperty(String name, ProArray defaultValue) ;
o 新增convert标签,支持字典数据值向名称的转换
其中的datas为一个map属性映射值,name对应于key,convert标签通过name获取到对应的属性值
然后显示到页面上,如果对应的值没有那么输出defaultValue对应的值,如果没有设置defaultValue
那么直接输出name。
<pg:convert convertData="datas" colName="name" defaultValue=""/>
pager-taglib.tld
frameworkset.jar
------2011-04-18------------
o 解决获取空的ProList时导致aop框架启动失败的问题
o 完善事务泄露检测机制,在manager-provider.xml中增加检测页面地址类型配置:
<!-- 数据库事务泄露检测url类型范围配置 -->
<property name="transaction.leakcheck.files" >
<array componentType="String">
<property value=".jsp"/>
<property value=".do"/>
<property value=".page"/>
<property value=".action"/>
<property value=".ajax"/>
</array>
</property>
------2011-04-16------------
o 完善带返回值的事务管理模板组件支持泛型类型的返回
public void stringarraytoList(final List<ListBean> beans) throws Throwable {
List<ListBean> ret = TemplateDBUtil.executeTemplate(
new JDBCValueTemplate<List<ListBean>>(){
public List<ListBean> execute() throws Exception {
String sql = "INSERT INTO LISTBEAN (" + "ID," + "FIELDNAME,"
+ "FIELDLABLE," + "FIELDTYPE," + "SORTORDER,"
+ " ISPRIMARYKEY," + "REQUIRED," + "FIELDLENGTH,"
+ "ISVALIDATED" + ")" + "VALUES"
+ "(#[id],#[fieldName],#[fieldLable],#[fieldType],#[sortorder]"
+ ",#[isprimaryKey],#[required],#[fieldLength],#[isvalidated])";
SQLExecutor.delete("delete from LISTBEAN");
SQLExecutor.insertBeans(sql, beans);
return beans;
}
}
);
}
o 解决主页面通过ajax方式加载多个分页页面时,跳转功能不能正常使用的问题,以及提示信息中文乱码问题
------2011-04-14------------
o mvc中传递给分页标签的导航路径修改为带上下文的绝对地址,以免在使用jquery模式局部分页时,主页面的相对地址和分页对应的页面的相对路径不一致时,不能正确地进行分页导航
------2011-04-13------------
o 控制器方法中增加Map类型参数绑定机制,可以将request中的参数转换为Map对象,当参数是数组时存入数组值,否则存入单个值
------2011-04-11------------
o 完善ConfigSQLExecutor和SQLExecutor组件中所有和bean对象相关的接口,
Object bean参数可以是普通的的值对象,也可以是一个SQLParams对象,也可以是一个Map对象
使用方法参考测试用例:
/bboss-persistent/test/com/frameworkset/sqlexecutor/ConfigSQLExecutorTest.java
------2011-04-11------------
o 新增array元素,通过该元素可以实现各种类型数组数据的注入功能
------2011-04-07------------
o 修改DaemonThread进程,支持从外部指定刷新文件资源的时间间隔。
o 完善ApplicationContext组件的生命周期管理机制
o ApplicationContext组件增加获取long值属性的api
------2011-04-11------------
o 新增array元素,通过该元素可以实现各种类型数组数据的注入功能
------2011-04-07------------
o 增加根据变量名称从配置文件中获取sql语句的来操作数据库组件,对应sql配置文件提供定时刷新机制
如果检测到sql文件被修改,就从新加载文件(前提是开启刷新机制)
com.frameworkset.common.poolman.ConfigSQLExecutor
具体的使用方法为:
ConfigSQLExecutor executor = new ConfigSQLExecutor("com/frameworkset/sqlexecutor/sqlfile.xml");
Map dbBeans = executor.queryObject(HashMap.class, "sqltest");
String result = executor.queryFieldBean("sqltemplate", bean);
配置文件:
<?xml version="1.0" encoding='gb2312'?>
<properties>
<description>
<![CDATA[
sql配置文件
可以通过名称属性name配置默认sql,特定数据库的sql通过在
名称后面加数据库类型后缀来区分,例如:
sqltest
sqltest-oracle
sqltest-derby
sqltest-mysql
等等,本配置实例就演示了具体配置方法
]]>
</description>
<property name="sqltest"><![CDATA[select * from LISTBEAN]]>
</property>
<property name="sqltest-oracle"><![CDATA[select * from LISTBEAN]]>
</property>
<property name="sqltemplate"><![CDATA[select FIELDNAME from LISTBEAN where FIELDNAME=#[fieldName]]]>
</property>
<property name="sqltemplate-oracle"><![CDATA[select FIELDNAME from LISTBEAN where FIELDNAME=#[fieldName] ]]>
</property>
<property name="dynamicsqltemplate"><![CDATA[select * from CIM_ETL_REPOSITORY where 1=1
#if($HOST_ID && !$HOST_ID.equals("")) and HOST_ID = #[HOST_ID] #end
and PLUGIN_ID = #[PLUGIN_ID] and CATEGORY_ID = #[CATEGORY_ID] and APP = #[APP]]]>
</property>
</properties>
刷新机制的配置方法:
在manager-provider.xml文件中添加以下配置项即可:
<property name="sqlfile.refresh_interval" value="10000"/>
当value大于0时就开启sqlfile文件的更新检测机制,每隔value指定的时间间隔就检测一次,有更新就重新加载,否则不重新加载
o 完善ApplicationContext组件的生命周期管理机制
o ApplicationContext组件增加获取long值属性的api
o 完善mvc框架配置文件导入方式
可以用,号分隔导入子目录下的配置文件,例如:
<servlet>
<servlet-name>mvcdispather</servlet-name>
<servlet-class>org.frameworkset.web.servlet.DispatchServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/bboss-*.xml,
/WEB-INF/conf/bboss-*.xml</param-value>
</init-param>
。。。。。。
</servlet>
------2011-04-05------------
o 控制器方法增加枚举类型,枚举数组类型参数的绑定功能
------2011-04-06------------
o 增加一组查询单个字段的泛型接口,使用方法如下:
String sql = "select REQUIRED from LISTBEAN ";
int id= SQLExecutor.queryTField(int.class, sql);
long id= SQLExecutor.queryTField(long.class, "select seq_name.nextval from LISTBEAN ");
String sql = "select FIELDLABLE from LISTBEAN ";
String id= SQLExecutor.queryTField(String.class, sql);
System.out.println(id);
o 3.0api增加返回List<HashMap>结果集的查询接口支持,使用方法如下(以预编译语句为例):
@Test
public void queryListMap() throws SQLException
{
String sql = "select * from LISTBEAN name=?";
List<HashMap> dbBeans = SQLExecutor.queryListWithDBName(HashMap.class, "mysql", sql,"ttt");
System.out.println(dbBeans);
}
public void queryListMapWithbeanCondition() throws SQLException
{
String sql = "select * from LISTBEAN name=#[name]";
ListBean beanobject = new ListBean();
beanobject.setName("duoduo");
List<HashMap> dbBeans = SQLExecutor.queryListWithDBName(HashMap.class, "mysql", sql,beanobject);
System.out.println(dbBeans);
}
@Test
public void queryMap() throws SQLException
{
String sql = "select * from LISTBEAN ";
Map dbBeans = SQLExecutor.queryObject(HashMap.class, sql);
System.out.println(dbBeans);
}
------2011-03-31------------
o 跳转路径可以通过path:元素直接指定,而无需注入
具体使用方法,参考demo
WebRoot/WEB-INF/bboss-path.xml
------2011-03-30------------
o 3.0api中完善对java.util.Date类型对象属性数据的处理
o 修复mvc实现分页功能时,通过handleMapping注解指定的url路径无法进行分页的bug,修改的程序如下:
o ioc中属性注入时,如果属性没有定义set方法,会抛出异常,导致类注入初始化失败,修改为提示而不是失败方式
------2011-03-20------------
o 改进右键菜单功能,提升右键菜单性能,涉及的功能有:使用右键菜单的树标签和使用右键菜单的列表、分页标签,以及所有其他相关的页面
o 修复jms不能发送长度为0的jms消息bug
/bbossaop/src-jms/org/frameworkset/mq/RequestDispatcher.java
------2011-03-10------------
o 将组件管理模式默认为设置为单例模式
------2011-03-09------------
o 扩展list,map,set元素类型定义,添加componentType属性,用来标识容器中存放的对象类型,componentType的取值范围如下:
bean:标识容器元素对象类型是组件对象类型
String:标识容器元素对象类型是String对象
该属性可以用来方便将组件类型的list和字符串类型的list注入到其他组件中。
相应地在ProList、ProMap、ProSet对象上增加了以下方法:
ProList: public List getComponentList()
ProMap:public Map getComponentMap()
ProSet:public Set getComponentSet()
使用案例如下:
<property name="/index.htm,/detail.htm"
f:demo_sites="attr:demo_sites"
class="org.frameworkset.web.demo.SiteDemoController" singlable="true"/>
<property name="demo_sites">
<list componentType="bean">
<property f:name="listbean"
f:cnname="集合po对象绑定实例"
class="org.frameworkset.web.demo.SiteDemoBean">
<property name="controllerClass" value="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/test/org/frameworkset/spi/mvc/ListBeanBindController.java"/>
<property name="configFile" value="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/WEB-INF/bboss-listbean.xml"/>
<property name="visturl">
<list componentType="String">
<property value="/databind/showstringarraytoList.htm"/>
<property value="/databind/showlist.htm"/>
</list>
</property>
<property name="formlist">
<list componentType="bean">
<property f:formPath="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/jsp/databind/table.jsp"
f:charset="UTF-8"
class="org.frameworkset.web.demo.FormUrl">
<property name="description"><![CDATA[
表单table.jsp, 对应于/databind/showlist.htm跳转页面
]]></property>
</property>
<property f:formPath="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/jsp/databind/stringarraytoList.jsp"
class="org.frameworkset.web.demo.FormUrl">
<property name="description"><![CDATA[
表单stringarraytoList.jsp, 对应于/databind/showstringarraytoList.htm跳转页面
]]></property>
</property>
<property f:formPath="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/jsp/databind/tableinfo.jsp"
class="org.frameworkset.web.demo.FormUrl">
<property name="description"><![CDATA[
表单/bboss-mvc/WebRoot/jsp/databind/tableinfo.jsp, 对应于/databind/showbean.htm跳转页面
]]></property>
</property>
</list>
</property>
<property name="description"><![CDATA[
集合po对象绑定实例 字符串数组转List数据绑定实例
]]></property>
</property>
</list>
</property>
类如下:SiteDemoController
public class SiteDemoController {
private List<SiteDemoBean> demo_sites;
public String index(ModelMap model)
{
model.addAttribute("demobeans", demo_sites);
return "index";
}
public String detail(ModelMap model,@RequestParam(name="demoname") String demoname)
{
SiteDemoBean bean = null;
for(int i = 0; i < demo_sites.size(); i ++)
{
SiteDemoBean bean_ = demo_sites.get(i);
if(demoname.equals(bean_.getName()))
{
bean = bean_;
break;
}
}
model.addAttribute("demobean", bean);
return "seconddetail";
}
/**
* @return the demo_sites
*/
public List<SiteDemoBean> getDemo_sites() {
return demo_sites;
}
/**
* @param demoSites the demo_sites to set
*/
public void setDemo_sites(List<SiteDemoBean> demoSites) {
demo_sites = demoSites;
}
}
------2011-03-30------------
o 3.0api中完善对java.util.Date类型对象属性数据的处理
------2011-03-06------------
o 修复树标签复选框点击事件firefox兼容性问题
o 修复树标签默认选中节点上面设置点击事件时Boolean值向String转换异常问题
------2011-03-04------------
o 增加一个根据参数启动数据源的api,可以控制数据源是连接池数据源还是非连接池数据源
DBUtil中增加以下静态方法:
public static void startPool(String poolname,String driver,String jdbcurl,String username,String password,
String readOnly,
String txIsolationLevel,
String validationQuery,
String jndiName,
int initialConnections,
int minimumSize,
int maximumSize,
boolean usepool,
boolean external,
String externaljndiName
)
o 数据源配置文件中增加usepool元素 ,可以控制数据源是连接池数据源还是非连接池数据源
<?xml version="1.0" encoding="gb2312"?>
<poolman>
<datasource>
<dbname>bspf</dbname>
<loadmetadata>false</loadmetadata>
<jndiName>jdbc/mysql-ds</jndiName>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<usepool>false</usepool>
<url>jdbc:oracle:thin:@//172.16.25.139:1521/dtjf</url>
<username>dtjf</username>
<password>dtjf</password>
<txIsolationLevel>READ_COMMITTED</txIsolationLevel>
<logAbandoned>true</logAbandoned>
<readOnly>false</readOnly>
<keygenerate>composite</keygenerate>
<autoprimarykey>false</autoprimarykey>
<showsql>false</showsql>
</datasource>
</poolman>
o 调整非连接池数据源的监控数据采集和相关属性展示接口
------2011-03-02------------
o 修改odbc 驱动下使用o/r mapping查询,大字段处理异常问题
o 扩展SQLExecutor组件增加所有查询List结果集方法对泛型的支持
o 修复double类型数据向int类型转换的问题,新增单个值转换为数组的功能,支持数字类型数组之间的相互转换
各子项目新增功能和修改功能清单请参考每个项目中的readme.txt文件。
整个框架相比以前的版本性能更好,更加简单易用。为了更好地帮助开发人员的使用,提供了以下资源:
bbossgroups源码工程(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/bbossgroups-3.1-src.zip/download)
mvc框架的demo war包(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/mvcdemo-war.zip/download)
简单mvc eclipse开发工程,开箱即用(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/mvcdemo-eclipse.zip/download)
bbossgroups 培训ppt(http://sourceforge.net/projects/bboss/files/bbossgroups-3.1/bbossgroups%203.1%20in%20action.zip/download)
bbossgroups 包含以下子工程:
1.bboss-aop, an aop framework.(ioc ,rpc[jms,mina,jgroups,cxf webservice,rmi,netty,rest,组播,多播],
bean component,cxf webservice component framworkset,jms components frameworkset,plugin security components and so on).
支持组件方法异步调用。
2.bboss-persistent, a persistent framework().
a.灵活的事务管理(声明式事务管理,可编程事务管理,java注解事务管理,jdbctemplate事务管理,五种经典的事务类型,支持事务嵌套,支持多数据库分布式事务)
b.灵活的访问数据库的接口(普通sql操作,预编译sql操作,普通/预编译批处理操作,存储过程,函数)
c.一套经典的数据库操作标签库(增删改查,普通sql操作,预编译sql操作,普通/预编译批处理操作)
d.经典的多数据库连接池配置管理和使用方法(所有的数据库操作接口可以直接指定连接池的名称,方便地实现对不同数据库的操作)
3.bboss-taglib, a web layer taglib framework(list tag,pageine list tag,detail tag ,logic tag,tree tag,tabpane tag,dbutil tag).
4.bboss-event, an event framework(local event,remote distribute event framework base aop rpc framework).
5.bboss-util, an utility framework.
6.antbuildall, ant build project that build up projects.可以运行antbuildall下的run.bat命令编译所有的子项目,并且更新相应工程的依赖jars。
7.apache-ant-1.7.1 所有工程构建依赖的ant环境,bbossgroups的构建无需依赖外部ant环境,每个子工程下都有相应的执行ant的bat命令文件,直接运行这些bat就可以构建相应的
工程,构建的目标文件存放在相应工程的distrib目录下面。
bbossaop\run.bat
bbossevent\run.bat
bboss-mvc\build.bat
bboss-persistent\run.bat
bboss-taglib\run.bat
bboss-util\run.bat
8.bboss-mvc,bboss mvc 框架隶属于开源项目bbossgroups,是基于bboss aop框架开发的轻量级mvc框架,提供以下功能:单方法action,多方法action,注解action 支持restful
提供数据绑定功能提供国际化功能提供自定义主题功能提供一套界面展示标签提供数据自动校验功能,
bboss-mvc提供多文件上传功能的支持,分页控制器的支持。能够非常方便地和jquery,exjs等流行的技术框架使用。
9.文档 目录包含mvc框架开发文档、framework 开发文档和bboss aop框架的技术使用文档、ppt培训文档等等
bboss group project blog:
http://blog.csdn.net/yin_bp
http://yin-bp.iteye.com/
bboss group project sourceforge site url:
http://sourceforge.net/projects/bboss/files/
release version : bbossgroups-3.1
release date: 2011/05/02
-----------------------------------------------------------------------------------------------****
release futures:
3.1 版本新增组件异步调用功能,对mvc框架功能做了进一步的改进,丰富了数据绑定类型,标签库修复了jquery ajax提交和装载页面中文乱码问题,
整个框架相比以前的版本性能更好,更加简单易用。为了更好地帮助开发人员的使用,提供了以下资源:
mvc框架的demo war包
简单mvc eclipse开发工程,开箱即用
------2011-04-30------------
o mvc框架绑定参数注解指定日期转换格式,以便保证按原始数据格式将参数转换为正确的日期
o mvc框架可以将日期类型(java.util.Date/java.sql.Date/java.sql.Timestamp)转换为long类型数据,也可以将long数据转换为日期类型(java.util.Date/java.sql.Date/java.sql.Timestamp),
也可以进行long数组和日期类型(java.util.Date/java.sql.Date/java.sql.Timestamp)数组的相互转换
o 修复mvc框架控制器组件解析异常:
java.lang.IllegalArgumentException: Class must not be null
at org.frameworkset.util.Assert.notNull(Assert.java:112)
at org.frameworkset.util.annotations.AnnotationUtils.findAnnotation(AnnotationUtils.java:129)
at org.frameworkset.web.servlet.handler.HandlerUtils.determineUrlsForHandler(HandlerUtils.java:1965)
------2011-04-25------------
o 持久层框架中修复获取数字类型的值时,一旦rs中返回null时,没有正确获取数字缺省值的问题
ValueExchange.convert方法
o 标签库中修改字符串过滤器,解决jquery或者ajax数据请求时,分页查询的中文乱码问题,改进字符串过滤器的性能
------2011-04-24------------
o 改进webservice服务装载功能,可以从mvc和所有的applicationcontext中配置和装载webservice服务:
Mvc框架的ws服务无需特殊处理
普通的applicationcontext容器中的ws服务对应的模块配置文件需要配置在org/frameworkset/spi/ws/webserivce-modules.xml文件中
------2011-04-21------------
o 增加组件异步调用机制,使用方法参考测试用例:
/bbossaop/test/org/frameworkset/spi/asyn/AsynbeanTest.java
可以通过Async注解标注组件中需要异步执行的方法即可,可以指定超时时间,是否需要返回结果,是否需要回调处理返回结果
------2011-04-20------------
o 完善Pro对象对ProList,ProSet,ProMap,ProArray的处理机制
o ApplicationContext组件新增一组获取ProArray对象的接口
public ProArray getArrayProperty(String name) ;
public ProArray getProArrayProperty(String name, ProArray defaultValue) ;
o 新增convert标签,支持字典数据值向名称的转换
其中的datas为一个map属性映射值,name对应于key,convert标签通过name获取到对应的属性值
然后显示到页面上,如果对应的值没有那么输出defaultValue对应的值,如果没有设置defaultValue
那么直接输出name。
<pg:convert convertData="datas" colName="name" defaultValue=""/>
pager-taglib.tld
frameworkset.jar
------2011-04-18------------
o 解决获取空的ProList时导致aop框架启动失败的问题
o 完善事务泄露检测机制,在manager-provider.xml中增加检测页面地址类型配置:
<!-- 数据库事务泄露检测url类型范围配置 -->
<property name="transaction.leakcheck.files" >
<array componentType="String">
<property value=".jsp"/>
<property value=".do"/>
<property value=".page"/>
<property value=".action"/>
<property value=".ajax"/>
</array>
</property>
------2011-04-16------------
o 完善带返回值的事务管理模板组件支持泛型类型的返回
public void stringarraytoList(final List<ListBean> beans) throws Throwable {
List<ListBean> ret = TemplateDBUtil.executeTemplate(
new JDBCValueTemplate<List<ListBean>>(){
public List<ListBean> execute() throws Exception {
String sql = "INSERT INTO LISTBEAN (" + "ID," + "FIELDNAME,"
+ "FIELDLABLE," + "FIELDTYPE," + "SORTORDER,"
+ " ISPRIMARYKEY," + "REQUIRED," + "FIELDLENGTH,"
+ "ISVALIDATED" + ")" + "VALUES"
+ "(#[id],#[fieldName],#[fieldLable],#[fieldType],#[sortorder]"
+ ",#[isprimaryKey],#[required],#[fieldLength],#[isvalidated])";
SQLExecutor.delete("delete from LISTBEAN");
SQLExecutor.insertBeans(sql, beans);
return beans;
}
}
);
}
o 解决主页面通过ajax方式加载多个分页页面时,跳转功能不能正常使用的问题,以及提示信息中文乱码问题
------2011-04-14------------
o mvc中传递给分页标签的导航路径修改为带上下文的绝对地址,以免在使用jquery模式局部分页时,主页面的相对地址和分页对应的页面的相对路径不一致时,不能正确地进行分页导航
------2011-04-13------------
o 控制器方法中增加Map类型参数绑定机制,可以将request中的参数转换为Map对象,当参数是数组时存入数组值,否则存入单个值
------2011-04-11------------
o 完善ConfigSQLExecutor和SQLExecutor组件中所有和bean对象相关的接口,
Object bean参数可以是普通的的值对象,也可以是一个SQLParams对象,也可以是一个Map对象
使用方法参考测试用例:
/bboss-persistent/test/com/frameworkset/sqlexecutor/ConfigSQLExecutorTest.java
------2011-04-11------------
o 新增array元素,通过该元素可以实现各种类型数组数据的注入功能
------2011-04-07------------
o 修改DaemonThread进程,支持从外部指定刷新文件资源的时间间隔。
o 完善ApplicationContext组件的生命周期管理机制
o ApplicationContext组件增加获取long值属性的api
------2011-04-11------------
o 新增array元素,通过该元素可以实现各种类型数组数据的注入功能
------2011-04-07------------
o 增加根据变量名称从配置文件中获取sql语句的来操作数据库组件,对应sql配置文件提供定时刷新机制
如果检测到sql文件被修改,就从新加载文件(前提是开启刷新机制)
com.frameworkset.common.poolman.ConfigSQLExecutor
具体的使用方法为:
ConfigSQLExecutor executor = new ConfigSQLExecutor("com/frameworkset/sqlexecutor/sqlfile.xml");
Map dbBeans = executor.queryObject(HashMap.class, "sqltest");
String result = executor.queryFieldBean("sqltemplate", bean);
配置文件:
<?xml version="1.0" encoding='gb2312'?>
<properties>
<description>
<![CDATA[
sql配置文件
可以通过名称属性name配置默认sql,特定数据库的sql通过在
名称后面加数据库类型后缀来区分,例如:
sqltest
sqltest-oracle
sqltest-derby
sqltest-mysql
等等,本配置实例就演示了具体配置方法
]]>
</description>
<property name="sqltest"><![CDATA[select * from LISTBEAN]]>
</property>
<property name="sqltest-oracle"><![CDATA[select * from LISTBEAN]]>
</property>
<property name="sqltemplate"><![CDATA[select FIELDNAME from LISTBEAN where FIELDNAME=#[fieldName]]]>
</property>
<property name="sqltemplate-oracle"><![CDATA[select FIELDNAME from LISTBEAN where FIELDNAME=#[fieldName] ]]>
</property>
<property name="dynamicsqltemplate"><![CDATA[select * from CIM_ETL_REPOSITORY where 1=1
#if($HOST_ID && !$HOST_ID.equals("")) and HOST_ID = #[HOST_ID] #end
and PLUGIN_ID = #[PLUGIN_ID] and CATEGORY_ID = #[CATEGORY_ID] and APP = #[APP]]]>
</property>
</properties>
刷新机制的配置方法:
在manager-provider.xml文件中添加以下配置项即可:
<property name="sqlfile.refresh_interval" value="10000"/>
当value大于0时就开启sqlfile文件的更新检测机制,每隔value指定的时间间隔就检测一次,有更新就重新加载,否则不重新加载
o 完善ApplicationContext组件的生命周期管理机制
o ApplicationContext组件增加获取long值属性的api
o 完善mvc框架配置文件导入方式
可以用,号分隔导入子目录下的配置文件,例如:
<servlet>
<servlet-name>mvcdispather</servlet-name>
<servlet-class>org.frameworkset.web.servlet.DispatchServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/bboss-*.xml,
/WEB-INF/conf/bboss-*.xml</param-value>
</init-param>
。。。。。。
</servlet>
------2011-04-05------------
o 控制器方法增加枚举类型,枚举数组类型参数的绑定功能
------2011-04-06------------
o 增加一组查询单个字段的泛型接口,使用方法如下:
String sql = "select REQUIRED from LISTBEAN ";
int id= SQLExecutor.queryTField(int.class, sql);
long id= SQLExecutor.queryTField(long.class, "select seq_name.nextval from LISTBEAN ");
String sql = "select FIELDLABLE from LISTBEAN ";
String id= SQLExecutor.queryTField(String.class, sql);
System.out.println(id);
o 3.0api增加返回List<HashMap>结果集的查询接口支持,使用方法如下(以预编译语句为例):
@Test
public void queryListMap() throws SQLException
{
String sql = "select * from LISTBEAN name=?";
List<HashMap> dbBeans = SQLExecutor.queryListWithDBName(HashMap.class, "mysql", sql,"ttt");
System.out.println(dbBeans);
}
public void queryListMapWithbeanCondition() throws SQLException
{
String sql = "select * from LISTBEAN name=#[name]";
ListBean beanobject = new ListBean();
beanobject.setName("duoduo");
List<HashMap> dbBeans = SQLExecutor.queryListWithDBName(HashMap.class, "mysql", sql,beanobject);
System.out.println(dbBeans);
}
@Test
public void queryMap() throws SQLException
{
String sql = "select * from LISTBEAN ";
Map dbBeans = SQLExecutor.queryObject(HashMap.class, sql);
System.out.println(dbBeans);
}
------2011-03-31------------
o 跳转路径可以通过path:元素直接指定,而无需注入
具体使用方法,参考demo
WebRoot/WEB-INF/bboss-path.xml
------2011-03-30------------
o 3.0api中完善对java.util.Date类型对象属性数据的处理
o 修复mvc实现分页功能时,通过handleMapping注解指定的url路径无法进行分页的bug,修改的程序如下:
o ioc中属性注入时,如果属性没有定义set方法,会抛出异常,导致类注入初始化失败,修改为提示而不是失败方式
------2011-03-20------------
o 改进右键菜单功能,提升右键菜单性能,涉及的功能有:使用右键菜单的树标签和使用右键菜单的列表、分页标签,以及所有其他相关的页面
o 修复jms不能发送长度为0的jms消息bug
/bbossaop/src-jms/org/frameworkset/mq/RequestDispatcher.java
------2011-03-10------------
o 将组件管理模式默认为设置为单例模式
------2011-03-09------------
o 扩展list,map,set元素类型定义,添加componentType属性,用来标识容器中存放的对象类型,componentType的取值范围如下:
bean:标识容器元素对象类型是组件对象类型
String:标识容器元素对象类型是String对象
该属性可以用来方便将组件类型的list和字符串类型的list注入到其他组件中。
相应地在ProList、ProMap、ProSet对象上增加了以下方法:
ProList: public List getComponentList()
ProMap:public Map getComponentMap()
ProSet:public Set getComponentSet()
使用案例如下:
<property name="/index.htm,/detail.htm"
f:demo_sites="attr:demo_sites"
class="org.frameworkset.web.demo.SiteDemoController" singlable="true"/>
<property name="demo_sites">
<list componentType="bean">
<property f:name="listbean"
f:cnname="集合po对象绑定实例"
class="org.frameworkset.web.demo.SiteDemoBean">
<property name="controllerClass" value="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/test/org/frameworkset/spi/mvc/ListBeanBindController.java"/>
<property name="configFile" value="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/WEB-INF/bboss-listbean.xml"/>
<property name="visturl">
<list componentType="String">
<property value="/databind/showstringarraytoList.htm"/>
<property value="/databind/showlist.htm"/>
</list>
</property>
<property name="formlist">
<list componentType="bean">
<property f:formPath="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/jsp/databind/table.jsp"
f:charset="UTF-8"
class="org.frameworkset.web.demo.FormUrl">
<property name="description"><![CDATA[
表单table.jsp, 对应于/databind/showlist.htm跳转页面
]]></property>
</property>
<property f:formPath="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/jsp/databind/stringarraytoList.jsp"
class="org.frameworkset.web.demo.FormUrl">
<property name="description"><![CDATA[
表单stringarraytoList.jsp, 对应于/databind/showstringarraytoList.htm跳转页面
]]></property>
</property>
<property f:formPath="D:/workspace/bbossgroup-2.0-RC2-mvc/bboss-mvc/WebRoot/jsp/databind/tableinfo.jsp"
class="org.frameworkset.web.demo.FormUrl">
<property name="description"><![CDATA[
表单/bboss-mvc/WebRoot/jsp/databind/tableinfo.jsp, 对应于/databind/showbean.htm跳转页面
]]></property>
</property>
</list>
</property>
<property name="description"><![CDATA[
集合po对象绑定实例 字符串数组转List数据绑定实例
]]></property>
</property>
</list>
</property>
类如下:SiteDemoController
public class SiteDemoController {
private List<SiteDemoBean> demo_sites;
public String index(ModelMap model)
{
model.addAttribute("demobeans", demo_sites);
return "index";
}
public String detail(ModelMap model,@RequestParam(name="demoname") String demoname)
{
SiteDemoBean bean = null;
for(int i = 0; i < demo_sites.size(); i ++)
{
SiteDemoBean bean_ = demo_sites.get(i);
if(demoname.equals(bean_.getName()))
{
bean = bean_;
break;
}
}
model.addAttribute("demobean", bean);
return "seconddetail";
}
/**
* @return the demo_sites
*/
public List<SiteDemoBean> getDemo_sites() {
return demo_sites;
}
/**
* @param demoSites the demo_sites to set
*/
public void setDemo_sites(List<SiteDemoBean> demoSites) {
demo_sites = demoSites;
}
}
------2011-03-30------------
o 3.0api中完善对java.util.Date类型对象属性数据的处理
------2011-03-06------------
o 修复树标签复选框点击事件firefox兼容性问题
o 修复树标签默认选中节点上面设置点击事件时Boolean值向String转换异常问题
------2011-03-04------------
o 增加一个根据参数启动数据源的api,可以控制数据源是连接池数据源还是非连接池数据源
DBUtil中增加以下静态方法:
public static void startPool(String poolname,String driver,String jdbcurl,String username,String password,
String readOnly,
String txIsolationLevel,
String validationQuery,
String jndiName,
int initialConnections,
int minimumSize,
int maximumSize,
boolean usepool,
boolean external,
String externaljndiName
)
o 数据源配置文件中增加usepool元素 ,可以控制数据源是连接池数据源还是非连接池数据源
<?xml version="1.0" encoding="gb2312"?>
<poolman>
<datasource>
<dbname>bspf</dbname>
<loadmetadata>false</loadmetadata>
<jndiName>jdbc/mysql-ds</jndiName>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<usepool>false</usepool>
<url>jdbc:oracle:thin:@//172.16.25.139:1521/dtjf</url>
<username>dtjf</username>
<password>dtjf</password>
<txIsolationLevel>READ_COMMITTED</txIsolationLevel>
<logAbandoned>true</logAbandoned>
<readOnly>false</readOnly>
<keygenerate>composite</keygenerate>
<autoprimarykey>false</autoprimarykey>
<showsql>false</showsql>
</datasource>
</poolman>
o 调整非连接池数据源的监控数据采集和相关属性展示接口
------2011-03-02------------
o 修改odbc 驱动下使用o/r mapping查询,大字段处理异常问题
o 扩展SQLExecutor组件增加所有查询List结果集方法对泛型的支持
o 修复double类型数据向int类型转换的问题,新增单个值转换为数组的功能,支持数字类型数组之间的相互转换
各子项目新增功能和修改功能清单请参考每个项目中的readme.txt文件。
发表评论
-
bboss离线开发文档下载
2013-05-14 18:08 1870bboss离线开发文档下载 为了便于bboss开发人员离线查找 ... -
bboss 3.6发布,丰富的功能扩展和改进
2012-10-07 09:50 2045bboss 3.6 (官网下载,sf下载)发布了,新版本相比之 ... -
Bboss国际化实践PPT
2012-06-10 12:52 1392Bboss国际化实践PPT,点击链接即可下载: Bboss国际 ... -
bboss国际化功能简介
2012-05-09 08:59 1262借助bboss国际化功能,我们可以非常方便快捷地实现系统 ... -
bboss 4.10.7及更低版本ant构建方法
2012-03-23 22:54 6038本文适用bboss 4.10.7及更低版本,4.10.8及后续 ... -
bboss 将内容为GBK编码文件转UTF-8工具介绍
2012-03-23 15:53 1696bboss 将内容为GBK编码文件转UTF-8工具介绍 bb ... -
bbossgroups 3.5 发布
2012-02-18 14:51 1174版本:bbossgroups-3.5 官网:http://w ... -
bboss 序列化功能详解
2012-01-27 11:04 1669bboss 序列化功能详解,bboss序列化组件是bbossg ... -
bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能
2012-01-09 23:19 1400bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列 ... -
bbossgroups 3.4发布
2011-10-26 22:45 1152版本: bbossgroups-3.4 bboss gro ... -
bbossgroups 对象xml序列化/反序列化性能测试
2011-10-10 23:16 1358本文探讨开源项目bbossgroups 中对象xml序列化/反 ... -
bbossgroups 开发系列文章之一 最佳实践
2011-10-01 12:50 1500bbossgroups 开发系列文章之-最佳实践 一、概述 ... -
bboss 组件容器的使用方法浅析
2011-08-20 00:21 1669本文重点介绍bboss 中的4大组件容器的特点及使用方法 4 ... -
bbossgroups 3.3 发布
2011-08-19 23:02 1099bbossgroups 3.3 发布,该版本在3.2的基础上做 ... -
bbossgroups框架发布的jar包和依赖jar包概览
2011-08-09 23:16 2010bbossgroups框架发布的jar包和依赖jar包概览 j ... -
我们需要一站式解决方案还是混合组合方案
2011-08-05 14:10 1185这年头提供一站式解决方案的框架才具备真正的核心竞 ... -
bbossgroups的特色特点介绍
2011-07-10 10:49 1455很多朋友都在问bbossgroups框架和其他mvc框架 、s ... -
bbossgroups 相关资料整理
2011-06-24 08:13 1149为了方便大家了解bbossgroups,我特意把相关的资料整理 ... -
bbossgroups项目demo站点升级完毕,朋友们可以去看看
2011-06-19 22:52 1204bbossgroups项目demo站点升级完毕,访问地址: h ... -
开源项目bbossgroups,诚邀有志之士加盟
2011-06-15 10:03 537国内新兴的j2ee开源项目bbossgroups,诚邀有志之士 ...
相关推荐
总结来说,bbossgroups 3.1的SQLExecutor组件提供了一套便捷的API,使得开发者能够方便地进行数据库操作,同时支持批量处理和连接池管理,提高了代码的效率和可维护性。通过灵活的SQL构建和结果处理机制,它能够适应...
总之,bbossgroups 3.1是一个功能强大且全面的企业级开发框架,它的组件异步调用、MVC地址别名配置、SQL配置管理等功能显著提高了开发效率和系统的灵活性。随着不断的发展和更新,bbossgroups将持续为企业级应用提供...
### bbossgroups 3.0 发布,国内首款集成多技术的企业级J2EE开发框架 #### 概述 近日,bbossgroups 3.0 正式发布,这款国内首款集AOP(面向切面编程)、MVC(模型-视图-控制器)、Persistent(持久化)、JSP ...
通过依赖注入,可以将数据库访问组件注入到DAO中,使得业务组件可以直接调用DAO方法进行数据操作。 业务组件管理及注入DAO组件是业务逻辑层的核心。业务组件通常包含了复杂的业务规则,它们通过依赖注入的方式获取...
本文将深入探讨Bbossgroups的体系架构,包括AOP内核、MVC框架、标签库、国际化、主题管理、RESTful架构、持久层框架、分布式事件框架、任务调度、服务发布与访问、安全管理等多个方面。 1. **AOP内核**:AOP(面向...
1. **Message Queue(消息队列)**:bbossgroups的消息传递机制基于发布/订阅模式,支持点对点和广播通信。深入研究消息队列的实现,可以掌握其高效的数据传输和可靠性保障机制。 2. **Cache(缓存)**:...
BBoss框架的最新版本bbossgroups-bboss-389b83a可能包含了对原有功能的优化、新特性的添加以及bug修复。开发者在使用时,应详细阅读官方文档,了解其具体变更,以便更好地利用这一强大的工具进行企业级应用的开发。 ...
12. bboss:bbossgroups是首个集成AOP、MVC、持久层、JSP标签库、分布式RPC服务和序列化组件的JavaEE企业级开发框架。 13. BeeFramework:BeeFramework是iOS平台的快速开发框架,特点包括易学易用、组件丰富,提供...
提供的压缩包文件"bbossgroups 框架培训教程.pptx"和"Bbossgroups演示文档.pptx"可能包含了更多关于bboss mvc框架的详细信息和使用示例,包括如何配置和使用JSONP等特性。建议查阅这些文档以获取更深入的理解。 总...
该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6个Gradle构建文件、6个JAR包文件、6个属性文件等,旨在支持跨域应用集群节点的会话共享与监控,并提供示例站点http://session.bbossgroups.com/...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的... 首先将BBoss的maven依赖项添加到pom.xml中: < dependency> < groupId>com.bbossgroups.p
java版地图源码弹性搜索Bboss Bboss 是一个很好的 elasticsearch Java rest 客户端。 它以类似于mybatis的方式操作和访问elasticsearch。 环保要求 JDK 要求:JDK 1.7+ Elasticsearch ...>com.bbossgroups.p