bboss ioc快速入门教程
bboss是一个非常不错的ioc框架,功能类似于spring ioc和google guice,本文结合一个简单的案例来介绍bboss ioc的用法,让你快速的了解和上手使用bboss ioc。
[size=large][b]1.首先在工程中引入bboss ioc[/b][/size]
[b]maven坐标:[/b]
<dependency> <groupId>com.bbossgroups</groupId> <artifactId>bboss-core</artifactId> <version>5.0.3.5</version></dependency>
[b]gradle坐标:[/b]
compile group: 'com.bbossgroups', name: 'bboss-core', version: '5.0.3.5'
[b][size=large]2.编写组件实现[/size][/b]
org.gradle.IOCExample
package org.gradle;
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
public class IOCExample { private static final Logger logger = LoggerFactory.getLogger(IOCExample.class); private String name ; private String sex; private String homepage; public void init(){ logger.debug("init bean............."); }
public String exampMethod(){ return new StringBuilder().append("name = ").append(name).append(",") .append("sex = ").append(sex).append(",") .append("homepage = ").append(homepage).toString(); }
}
[size=large][b]3.定义外部属性配置-config.properties[/b][/size]
name=杰克homepage=http://www.bbossgroups.com
[size=large][b]4.配置bboss ioc[/b][/size]
编写bboss ioc配置文件:exampile.xml,放到工程resources目录
<!-- bboss ioc配置实例--><properties> <!-- 导入外部属性文件,bboss ioc外部属性参考文档: http://yin-bp.iteye.com/blog/2325602 --> <config file="config.properties"/> <!-- name="examplebean" 指定组件名称 class="org.gradle.IOCExample" 指定组件实现类 f:name="${name:jack}" 组件属性name注入,值配置在config.properties文件中,如果外部属性文件中没有配置name则使用默认值jack f:homepage="${homepage}" 组件属性homepage注入,值配置在config.properties文件中 f:sex="男" 属性sex注入 init-method="init" 组件初始化方法 --> <property name="examplebean" class="org.gradle.IOCExample" f:name="${name:jack}" f:homepage="${homepage}" f:sex="男" init-method="init" />
</properties>
[size=large][b]5.测试用例[/b][/size]
package org.gradle;
import org.frameworkset.spi.BaseApplicationContext;import org.frameworkset.spi.DefaultApplicationContext;import org.junit.Test;
/** * Created by 1 on 2017/6/25. */public class TestInvoke { @Test public void test(){ //初始化ioc容器 BaseApplicationContext context = DefaultApplicationContext.getApplicationContext("example.xml"); //获取组件实例 IOCExample example = context.getTBeanObject("examplebean",IOCExample.class); //调用组件方法 String message = example.exampMethod(); System.out.println("message:"+message); }}
[size=large][b]6.构建和运行[/b][/size]
在构建和运行之前先安装并配置好gradle环境,gradle的安装和配置参考文档:
[url]http://yin-bp.iteye.com/blog/2313145[/url]
下载示例:[url=http://www.bbossgroups.com/tool/download.htm?fileName=testioc.zip]下载[/url]
解压下载的文件,后切换到cmd,在testioc目录下执行命令:
gradle releaseVersion
[img]http://dl2.iteye.com/upload/attachment/0126/5063/4faedb78-2d31-3018-ad5e-40afa45be9ae.png[/img]
然后切换到目录build/dist下面,运行指令:start.bat就可以看效果了:
[img]http://dl2.iteye.com/upload/attachment/0126/5065/8f51b054-4ed0-3e17-a3ba-2d55d4f4ca56.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0126/5067/f4f3425c-c29a-3dd6-88a6-0a6cf1477990.png[/img]
bboss ioc快速入门教程相关推荐
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
- HealthKit开发快速入门教程大学霸内部教程
HealthKit开发快速入门教程大学霸内部教程 国内第一本HealthKit专向教程.本教程详细讲解iOS中,如何使用HealthKit框架开发健康应用.最后,本教程结合HealthKit ...
- Apple Watch开发快速入门教程
Apple Watch开发快速入门教程 试读下载地址:http://pan.baidu.com/s/1eQ8JdR0 介绍:苹果为Watch提供全新的开发框架WatchKit.本教程是国内第一本A ...
- 指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程
指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程 1.4.2 指示灯组 指示灯组的放大图如图1.5所示. 图1.5 指示灯组 各个指示灯对应的功能如下: q RX:对应于0号端口 ...
- 游戏控制杆OUYA游戏开发快速入门教程
游戏控制杆OUYA游戏开发快速入门教程 1.2.2 游戏控制杆 游戏控制杆各个角度的视图,如图1-4所示,它的硬件规格是本文选自OUYA游戏开发快速入门教程大学霸: 图1-4 游戏控制杆各个角度的 ...
- Arduino Yun的主要部件介绍选自Arduino Yun快速入门教程
Arduino Yun的主要部件介绍 1.4.1 主要部件 Yun的主要部件如图1.4所示. 图1.4 Arduino Yun的主要部件 在Yun小小的板子上集成了两颗处理器.一个是ATmega3 ...
- 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程
认识AndEngine什么是AndEngine 随着Android手机.平板的盛行,Android下的游戏也不断的变得火热.而对于游戏开发有兴趣的同学们,应该也想要学习开发游戏.虽说游戏开发的引擎较多 ...
- OUYA游戏开发快速入门教程1.2OUYA的硬件规格
OUYA游戏开发快速入门教程1.2OUYA的硬件规格 从官网上购买回来的OUYA产品,包含游戏主机.游戏控制杆.说明书.电源线.HDMI线.电源线和电池,如图1-2所示.本节就来简要介绍下,游戏主机和 ...
- Android 2D游戏引擎AndEngine快速入门教程
Android 2D游戏引擎AndEngine快速入门教程 介绍:AndEngine是一款知名的Android 2D游戏引擎.该引擎代码开源,并且可以免费使用.本书详细讲解如何使用AndEngine引 ...
最新文章
- 近期Freecodecamp问题总结
- VR技术怎么落地,行业应用怎么挖掘,来江苏虚拟现实发展大会侃侃
- sqlite3之基本操作(二)
- 2021.02.01 Visual QA论文阅读
- k8s与CICD--将drone部署到kubernetes中,实现agent动态收缩
- The Best Vacation CodeForces - 1358D(贪心+尺取)
- Javascript s08
- leetcode468. 验证IP地址
- WebSocket实践
- 自己动手写Docker系列 -- 5.2实现查看运行中的容器
- hdu5033 Building 单调队列
- iOS /clang:-1: linker command failed with exit code 1 (use -v to see invocation) 报错
- EXCEL 制作下拉选项,限制输入内容范围
- 利用FFT成功实现拓扑识别(五)--关于频谱泄露
- ad7606中文资料_16位ADC数据采集模块AD7606(原理图、中文数据手册、例程等)
- win7计算机不能设置双屏怎么回事,win7怎么设置双屏显示?Win7双屏显示设置的方法...
- 日语(五十元音)_01
- 湖仓一体:从零开始搭建数据仓库
- wdcp mysql configure error_install Error: mysql configure err
- 基于java springboot租房平台设计,公寓租赁系统
热门文章
- Error: unknown command “push“ for “helm“ Helm安装push插件
- 一、HTML、HTTP、web综合问题
- Word VBA自动排版(2)-通过自动查找替换去除叠字
- wIN 7 一键清理垃圾
- sqlmap绕过空格过滤方法
- 图形界面 I: 在METATRADER 4终端中使用不同类型的程序来测试界面库 (第五章)
- 关于HTML中常用选择器
- pda通用扫描app_智能仓储盘点——PDA扫码盘点APP真正实现“轻松盘点”!
- redisclient工具个人理解
- 使用less为长篇输出分页--用Enki学Linux系列(12)