- 浏览: 667675 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 中的4大组件容器的特点及使用方法
4大组件容器
[1] ApplicationContext
org.frameworkset.spi.ApplicationContext
包括基本的aop/ioc功能,业务组件、dao组件管理,远程服务,全局属性管理,拦截器,包含声明式事务管理
[2] WebApplicationContextorg.frameworkset.web.servlet.context.WebApplicationContext
管理所有mvc框架中的控制器,包括基本的aop/ioc功能,业务组件、dao组件管理,不提供远程服务(和远程服务协议包无关联)
[3] DefaultApplicationContextorg.frameworkset.spi.DefaultApplicationContext
包括基本的aop/ioc功能,业务组件、dao组件管理,不提供远程服务(和远程服务协议包无关联)
[4] SOAApplicationContext/SOAFileApplicationContext
org.frameworkset.spi.SOAApplicationContext
org.frameworkset.spi.SOAFileApplicationContext
两个轻量级的ioc容器,包含aop/ioc功能、全局属性管理,业务组件、dao组件管理,不包含远程服务、拦截器、不包含声明式事务管理,是DefaultApplicationContext的子类,二者主要用来实现对象xml序列化功能,前者从xml串中反序列化组件,后者从xml文件中反序列化组件
4大组件容器相对于相同的配置文件都是单实例的,也就是说在应用程序中的任何地方通过以下方法获取到的ioc容器实例都是同一个实例(除了在第一次会加载配置文件并初始化文件中包含的组件外,之后都不会进行初始化加载),而且这些方法是多线程安全的:
4大组件容器的初始化和操作示例
本文涉及的组件配置文件如下:
org/frameworkset/spi/beans/testapplicationcontext.xml
org/frameworkset/soa/datasource-sql.xml
[1] ApplicationContext初始化和使用示例
org.frameworkset.spi.ApplicationContext
初始化:
使用示例:
本地服务组件实例获取方法
远程服务组件实例获取方法(以rmi协议为例,其他协议类似,更多信息参考博客其他文章):
[2] WebApplicationContext
org.frameworkset.web.servlet.context.WebApplicationContext
WebApplicationContext的初始化是在bboss mvc框架启动过程中自动初始化的,你、只需要在web.xml文件中做如下配置即可:
WebApplicationContext容器将会加载contextConfigLocation属性中配置的所有配置文件,形成一个的mvc 框架组件容器。
我们可以在程序这样获取WebApplicationContext容器的实例:
[3] DefaultApplicationContext
org.frameworkset.spi.DefaultApplicationContext
DefaultApplicationContext的实例定义和获取组件实例方法为:
[4] SOAApplicationContext/SOAFileApplicationContext
org.frameworkset.spi.SOAApplicationContext
org.frameworkset.spi.SOAFileApplicationContext
SOAApplicationContext的实例化和获取组件实例示例代码:
SOAFileApplicationContext的实例化和获取组件实例示例代码:
4大组件容器
[1] ApplicationContext
org.frameworkset.spi.ApplicationContext
包括基本的aop/ioc功能,业务组件、dao组件管理,远程服务,全局属性管理,拦截器,包含声明式事务管理
[2] WebApplicationContextorg.frameworkset.web.servlet.context.WebApplicationContext
管理所有mvc框架中的控制器,包括基本的aop/ioc功能,业务组件、dao组件管理,不提供远程服务(和远程服务协议包无关联)
[3] DefaultApplicationContextorg.frameworkset.spi.DefaultApplicationContext
包括基本的aop/ioc功能,业务组件、dao组件管理,不提供远程服务(和远程服务协议包无关联)
[4] SOAApplicationContext/SOAFileApplicationContext
org.frameworkset.spi.SOAApplicationContext
org.frameworkset.spi.SOAFileApplicationContext
两个轻量级的ioc容器,包含aop/ioc功能、全局属性管理,业务组件、dao组件管理,不包含远程服务、拦截器、不包含声明式事务管理,是DefaultApplicationContext的子类,二者主要用来实现对象xml序列化功能,前者从xml串中反序列化组件,后者从xml文件中反序列化组件
4大组件容器相对于相同的配置文件都是单实例的,也就是说在应用程序中的任何地方通过以下方法获取到的ioc容器实例都是同一个实例(除了在第一次会加载配置文件并初始化文件中包含的组件外,之后都不会进行初始化加载),而且这些方法是多线程安全的:
WebApplicationContext context = org.frameworkset.web.servlet.support.WebApplicationContextUtils.getWebApplicationContext();//获取mvc容器实例 BaseApplicationContext context = DefaultApplicationContext.getApplicationContext("org/frameworkset/spi/beans/testapplicationcontext.xml");//获取普通ioc容器实例
4大组件容器的初始化和操作示例
本文涉及的组件配置文件如下:
org/frameworkset/spi/beans/testapplicationcontext.xml
org/frameworkset/soa/datasource-sql.xml
[1] ApplicationContext初始化和使用示例
org.frameworkset.spi.ApplicationContext
初始化:
ApplicationContext context = ApplicationContext.getApplicationContext("org/frameworkset/spi/beans/testapplicationcontext.xml");
使用示例:
本地服务组件实例获取方法
RestfulServiceConvertor convertor = context.getTBeanObject("rpc.restful.convertor",RestfulServiceConvertor.class);
远程服务组件实例获取方法(以rmi协议为例,其他协议类似,更多信息参考博客其他文章):
RestfulServiceConvertor convertor = (RestfulServiceConvertor)context.getBeanObject("(rmi::172.16.17.216:1099)/rpc.restful.convertor");
[2] WebApplicationContext
org.frameworkset.web.servlet.context.WebApplicationContext
WebApplicationContext的初始化是在bboss mvc框架启动过程中自动初始化的,你、只需要在web.xml文件中做如下配置即可:
<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> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvcdispather</servlet-name> <url-pattern>*.page</url-pattern> </servlet-mapping>
WebApplicationContext容器将会加载contextConfigLocation属性中配置的所有配置文件,形成一个的mvc 框架组件容器。
我们可以在程序这样获取WebApplicationContext容器的实例:
WebApplicationContext context = org.frameworkset.web.servlet.support.WebApplicationContextUtils.getWebApplicationContext();//获取实例 //通过以下方式获取mvc容器中的组件实例方法 DeskTopMenuShorcutManager m = context.getTBeanObject("deskTopMenuShorcutManager", DeskTopMenuShorcutManager.class);
[3] DefaultApplicationContext
org.frameworkset.spi.DefaultApplicationContext
DefaultApplicationContext的实例定义和获取组件实例方法为:
BaseApplicationContext context = DefaultApplicationContext.getApplicationContext("org/frameworkset/spi/beans/testapplicationcontext.xml"); RestfulServiceConvertor convertor = context.getTBeanObject("rpc.restful.convertor",RestfulServiceConvertor.class);
[4] SOAApplicationContext/SOAFileApplicationContext
org.frameworkset.spi.SOAApplicationContext
org.frameworkset.spi.SOAFileApplicationContext
SOAApplicationContext的实例化和获取组件实例示例代码:
String content = "<?xml version=\"1.0\" encoding=\"gbk\"?>" + "<esb>"+ "<call>"+ "<!-- 调度中心需要的数据开始 -->"+ "<property name=\"soamethodcall\" " + "class=\"org.frameworkset.soa.SOAMethodCall\" "+ "f:requestor=\"requestor\" "+ "f:requestid=\"1000000\" "+ "f:password=\"requestpassword\" "+ "f:encypt=\"encrypt\" "+ "f:encyptalgorithem=\"algorithm\" "+ "f:serviceid=\"hilaryserviceid\" "+ "f:issynchronized=\"true\" >"+ "<!-- 调度中心需要的数据结束 -->"+ "<!-- 调度中心提交给服务提供方的服务方法信息 -->"+ "<property name=\"soamethodinfo\" class=\"org.frameworkset.soa.SOAMethodInfo\" " + "f:methodName=\"methodname\">"+ "<property name=\"paramTypes\">"+ "<array componentType=\"Class\">"+ "<property >String</property>"+ "<property >String</property>"+ "<property >String[]</property>"+ "</array>"+ "</property>" + "<property name=\"params\">"+ "<array componentType=\"object\">"+ "<property name=\"condition\">1=1</property>"+ "<property name=\"orderby\">order by ${A}</property>"+ "<property>"+ " <array componentType=\"String\">"+ "<property>A</property>"+ "<property>B</property>"+ "</array>"+ "</property>"+ "</array>"+ "</property>" + "</property>" + "</property>"+ "</call>"+ "</esb>"; //从xml字符串实例化SOAApplicationContext对象 SOAApplicationContext context = new SOAApplicationContext(content); //获取xml串中包含的组件对象实例 SOAMethodCall object = context.getTBeanObject("soamethodcall",SOAMethodCall.class);
SOAFileApplicationContext的实例化和获取组件实例示例代码:
SOAFileApplicationContext context = new SOAFileApplicationContext("org/frameworkset/soa/datasource-sql.xml"); //获取xml串中包含的组件对象实例 SOAMethodCall object = context.getTBeanObject("soamethodcall",SOAMethodCall.class);
评论
2 楼
yin_bp
2014-09-23
如果想在普通的java程序中引用定义在mvc 容器中的业务组件,那么可以通过以下方式先获取到组件的实例:
然后调用m组件上的方法即可
WebApplicationContext context = org.frameworkset.web.servlet.support.WebApplicationContextUtils.getWebApplicationContext();//获取实例 //通过以下方式获取mvc容器中的组件实例方法 DeskTopMenuShorcutManager m = context.getTBeanObject("deskTopMenuShorcutManager", DeskTopMenuShorcutManager.class);
然后调用m组件上的方法即可
1 楼
yin_bp
2014-07-17
bboss中全局默认容器获取方法,这个容器会加载classes根目录下的manager-provider.xml文件:
BaseApplicationContext context = ApplicationContext.getApplicationContext();
发表评论
-
bboss mvc控制器方法跳转地址设置方法介绍
2017-12-09 21:52 849bboss mvc控制器方法跳转地址设置方法介绍 1.直接指 ... -
bboss ioc快速入门教程
2017-08-13 11:28 1197bboss是一个非常不错的ioc框架,功能类似于spr ... -
bboss mvc json插件设置日期类型格式方法
2017-02-28 11:33 673bboss mvc json插件设置日期类型格式方法 一般的 ... -
bboss ioc配置文件中使用外部属性文件介绍
2016-09-20 11:35 1063bboss ioc配置文件中使用外部属性文件介绍 与spri ... -
bboss mvc控制器实现etag和last modify两种http缓存机制
2016-09-07 23:48 1205bboss mvc控制器实现etag和last modify两 ... -
bboss wordpdf构建部署介绍
2016-09-02 15:47 515bboss wordpdf构建部署介绍 下载 源码下载地址: ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 861首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss ioc提供的组件初始化工具类介绍
2016-03-18 16:17 684bboss ioc提供的组件初始化工具类介绍 bboss i ... -
解决tomcat stop报Illegal access: this web application instance has been stopped异常方法
2015-12-26 23:41 5818解决tomcat stop报Illegal access: t ... -
bboss mvc文件上传实例
2015-06-08 11:13 37本文着重介绍bboss mvc文件上传功能,切入正题 功能点 ... -
扩展bboss ioc语法实现自定义的ioc依赖注入功能
2015-01-20 23:08 1258bboss ioc配置语法简洁而严谨,提供了强大的依赖注入功能 ... -
bboss mvc @RequestBody注解使用说明
2014-10-23 15:53 992@RequestBody可以将客户端请求报文体通过数据类型转换 ... -
bboss开发、模块工程目录结构及功能说明
2014-10-15 19:46 4706基于bboss开发项目说明 ... -
bboss安全认证过滤器认证后重定向到请求页面功能介绍
2014-10-12 10:55 1262本文介绍bboss安全认证 ... -
bboss mvc控制器方法响应报文注解ResponseBody使用说明
2014-09-20 22:39 1140bboss mvc控制器方法响应 ... -
bboss mvc启动事件监听器使用方法
2014-09-02 20:25 1100在实际应用,往往需要在mvc容器启动后执行相应的操作,bbos ... -
bboss序列化cglib代理对象方法介绍
2014-06-22 15:14 1088本文介绍bboss序列化cglib代理对象方法。经过cglib ... -
bboss自定义类对象序列化机制介绍
2014-05-26 23:32 1387bboss自定义类对象序列 ... -
bboss session共享使用方法介绍
2014-05-10 16:12 5881bboss session共享使用方法 ... -
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
2014-04-12 14:31 1602bboss将一个组件同时发布为webservice,hessi ...
相关推荐
http负载均衡组件-HttpRequestProxy 使用参考文档 负载均衡组件特点: 1.服务负载均衡(目前提供RoundRobin负载算法) 2.服务健康检查 3.服务容灾故障恢复 4.服务自动发现(zk,etcd,consul,eureka,db,其他第三...
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
企业级 J2EE 开源框架:bboss
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
官方版本,亲测可用
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
NULL 博文链接:https://yin-bp.iteye.com/blog/2325602
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
基于bboss新版平台项目环境搭建和代码工具使用视频教程
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...
官方版本,亲测可用