- 浏览: 693794 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 907bboss mvc控制器方法跳转地址设置方法介绍 1.直接指 ... -
bboss ioc快速入门教程
2017-08-13 11:28 1273bboss是一个非常不错的ioc框架,功能类似于spr ... -
bboss mvc json插件设置日期类型格式方法
2017-02-28 11:33 740bboss mvc json插件设置日期类型格式方法 一般的 ... -
bboss ioc配置文件中使用外部属性文件介绍
2016-09-20 11:35 1141bboss ioc配置文件中使用外部属性文件介绍 与spri ... -
bboss mvc控制器实现etag和last modify两种http缓存机制
2016-09-07 23:48 1260bboss mvc控制器实现etag和last modify两 ... -
bboss wordpdf构建部署介绍
2016-09-02 15:47 568bboss wordpdf构建部署介绍 下载 源码下载地址: ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 914首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss ioc提供的组件初始化工具类介绍
2016-03-18 16:17 734bboss ioc提供的组件初始化工具类介绍 bboss i ... -
解决tomcat stop报Illegal access: this web application instance has been stopped异常方法
2015-12-26 23:41 5934解决tomcat stop报Illegal access: t ... -
bboss mvc文件上传实例
2015-06-08 11:13 37本文着重介绍bboss mvc文件上传功能,切入正题 功能点 ... -
扩展bboss ioc语法实现自定义的ioc依赖注入功能
2015-01-20 23:08 1324bboss ioc配置语法简洁而严谨,提供了强大的依赖注入功能 ... -
bboss mvc @RequestBody注解使用说明
2014-10-23 15:53 1047@RequestBody可以将客户端请求报文体通过数据类型转换 ... -
bboss开发、模块工程目录结构及功能说明
2014-10-15 19:46 4859基于bboss开发项目说明 ... -
bboss安全认证过滤器认证后重定向到请求页面功能介绍
2014-10-12 10:55 1337本文介绍bboss安全认证 ... -
bboss mvc控制器方法响应报文注解ResponseBody使用说明
2014-09-20 22:39 1190bboss mvc控制器方法响应 ... -
bboss mvc启动事件监听器使用方法
2014-09-02 20:25 1155在实际应用,往往需要在mvc容器启动后执行相应的操作,bbos ... -
bboss序列化cglib代理对象方法介绍
2014-06-22 15:14 1153本文介绍bboss序列化cglib代理对象方法。经过cglib ... -
bboss自定义类对象序列化机制介绍
2014-05-26 23:32 1467bboss自定义类对象序列 ... -
bboss session共享使用方法介绍
2014-05-10 16:12 6130bboss session共享使用方法 ... -
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
2014-04-12 14:31 1651bboss将一个组件同时发布为webservice,hessi ...
相关推荐
tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl
tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl
基于java的ssm停车位短租系统程序答辩PPT.pptx
tornado-6.4b1-cp38-abi3-musllinux_1_1_x86_64.whl
基于java的招生管理系统答辩PPT.pptx
本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac
基于java的农机电招平台答辩PPT.pptx
jdk23 甲骨文官方安装包
基于java的机场网上订票系统答辩PPT.pptx
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
基于java的网上书店销售管理系统答辩PPT.pptx
tornado-6.3.3-cp38-abi3-win32.whl
【作品名称】:基于 Jsp+Sqlserver 实现的超市信息管理系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 系统功能: (1)系统分两种身份:管理员和员工,选择不同的身份进入不同的功能操作界面! (2)商品信息管理:管理员可以添加和维护商品信息,员工只能对商品信息进行查询 (3)员工信息管理:管理员登陆系统后可以可以添加和维护超市员工(收银员)的信息 (4)商品进货管理:管理员登陆系统后可以添加商品进货信息,可以对商品进货信息进行查询和统计,添加商品进进货退货信息,对商品进货退货信息进行查询和统计 (5)商品销售管理:员工(收银员)登陆系统后可以对商品进行销售,可以按时间查询自己的销售业绩;管理员登陆系统后可以按照时间等条件对销售信息进行查询,可以根据小票号登记顾客退货信息,查询顾客退货信息,可以查看员 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。
tornado-6.3.2-cp38-abi3-musllinux_1_1_i686.whl
基于java的热带水果商城答辩PPT.pptx
java awt、Swing实现中国象棋可联机版本采用面向对象思想 采用面向对象的思路,实现中国象棋可联机版本,适合初学者,以及对面向对象有更深层次理解的开发者或者同学。 使用原生的java awt、Swing进行窗口式开发 将素材文件夹放在D:\Game路径下 两个工程直接导入Eclipse,即可运行, ps:一个工程运行两次也可以,需要注意端口号,代码默认如果连接的端口号是3003,则监听3004端口,相反同理。联机前需要确保两台计算机同时处于局域网或外网
web前端设计与开发(详细整理)(包含html讲解,css讲解,移动web讲解),合适学习前端的人员进行基础学习,一秒变高手
分析所需的数据和代码都在这里
Listening Exercise 3 Part 2.mp3
链表 删除链表中的重复元素,链表基础