`

bboss ioc配置文件中使用外部属性文件介绍

阅读更多
bboss ioc配置文件中使用外部属性文件介绍

与spring ioc一样,在bboss ioc中也可以非常方便地引用外部属性文件(5.0.1及后续版本),本文介绍使用方法。
在工程中引入bboss ioc:
maven坐标:

<dependency>
    <groupId>com.bbossgroups</groupId>
    <artifactId>bboss-core</artifactId>
    <version>5.5.2</version>
</dependency>


gradle坐标:

compile group: 'com.bbossgroups', name: 'bboss-core', version: '5.5.2'

运行测试用例junit gradle坐标:
testCompile group: 'junit', name: 'junit', version: '4.+'

下载本文演示gradle工程:下载

参考文档将gradle工程导入eclipse:bboss gradle工程导入eclipse介绍

定义和导入外部属性文件
属性文件必须包含在classpath环境中

例如:



可以定义多个属性文件

文件定义好后需要在ioc配置文件的最开始通过config元素导入,如果有多个配置文件,可以在ioc根文件中导入属性文件(可以同时导入多个):

<config file="org/frameworkset/spi/variable/ioc-var.properties"/>
<config file="org/frameworkset/spi/variable/ioc-var1.properties"/>

<config file="file:F:/workspace/bboss/bboss-core/test/org/frameworkset/spi/variable/ioc-var.properties"/>

通过file:前缀指定物理路径,默认是classpath目录下的路径
属性文件内容:
varValue1=hello varValue1!
varValue2=hello varValue2!



使用外部属性文件
导入后就可以在注入的属性、扩展属性中引用属性文件中定义的变量:
引用变量语法:${xxxxx}
指定默认值语法:${varValue2:99}

在依赖注入的属性值中引用外部属性完整的示例

<properties>
	<config file="org/frameworkset/spi/variable/ioc-var.properties"/>
	<config file="org/frameworkset/spi/variable/ioc-var1.properties"/>
	<property name="test.beans"
	    f:varValue="aaa${varValue}aaa" 
	    f:intValue="2"
		long="1" int="1" boolean="true" string="${varValue1}string" object="object"
		class="org.frameworkset.spi.variable.VariableBean">
		<construction>
			<property ><![CDATA[${varValue1}ccc]]></property>
			<property value="ddd${varValue2}"/>
		</construction>
		<property name="varValue1" ><![CDATA[${varValue1}ccc]]></property>
		<property name="varValue2" value="ddd${varValue2:99}"/>
	</property>
	
	 
</properties>


获取使用了外部属性文件的组件实例:
@Test
	public void test()
	{
		BaseApplicationContext context = DefaultApplicationContext.getApplicationContext("org/frameworkset/spi/variable/ioc-var.xml");//定义一个ioc容器
		VariableBean variableBean = context.getTBeanObject("test.beans", VariableBean.class);//获取组件实例
		System.out.println(variableBean.getExteral("string"));//获取组件中配置的扩展属性string
	}


VariableBean类源码:
package org.frameworkset.spi.variable;

import org.frameworkset.spi.BeanInfoAware;

public class VariableBean extends BeanInfoAware{
	private String varValue;
	private String varValue1;
	private String varValue2;
	private int intValue;
	public VariableBean(String varValue1,String varValue2)
	{
		System.out.println("varValue1:"+varValue1);
		System.out.println("varValue2:"+varValue2);
	}
	
	public String getExteral(String attr)
	{
		return super.beaninfo.getStringExtendAttribute(attr);
	}

}


通过ioc容器直接获取外部属性api方法实例
BaseApplicationContext context = DefaultApplicationContext.getApplicationContext("org/frameworkset/spi/variable/parent-var.xml");
		System.out.println(context.getExternalProperty("varValue"));
		System.out.println(context.getExternalProperty("varValue1"));
		System.out.println(context.getExternalProperty("varValue2"));


直接加载配置文件并获取属性值方法
PropertiesContainer propertiesContainer = new PropertiesContainer();
		propertiesContainer.addConfigPropertiesFile("application.properties");
		String dbName  = propertiesContainer.getProperty("db.name");
		String dbUser  = propertiesContainer.getProperty("db.user");
		String dbPassword  = propertiesContainer.getProperty("db.password");
		String dbDriver  = propertiesContainer.getProperty("db.driver");
		String dbUrl  = propertiesContainer.getProperty("db.url");


		String validateSQL  = propertiesContainer.getProperty("db.validateSQL");


		String _jdbcFetchSize = propertiesContainer.getProperty("db.jdbcFetchSize");
		Integer jdbcFetchSize = null;
		if(_jdbcFetchSize != null && !_jdbcFetchSize.equals(""))
			jdbcFetchSize  = Integer.parseInt(_jdbcFetchSize);


外部属性有效范围

1.根容器配置文件中导入的外部属性文件中的属性值对根文件中导入(managerimport)子文件可见
2.子文件中导入的外部属性文件中的属性只对本身及其下级子文件可见,以此类推
3.mvc容器对应的根文件是bboss-mvc.xml文件,在其中引入的外部属性配置文件对所有其他mvc配置文件可见,其他mvc配置文件导入的外部属性文件只对本身及其下级子文件可见


  • 大小: 55.1 KB
分享到:
评论

相关推荐

    基于Java的bboss开源框架设计源码

    该项目是基于Java语言的bboss开源框架构建的设计源码,包含3075个文件,涵盖2700个Java源文件、85个XML配置文件、52个HTML文件、39个properties和prefs文件、23个GIF图片、18个Gradle文件、17个gitignore文件、10个...

    springboot整合bboss es增删改查测试demo代码

    对应的配置文件为application.properties文件 多集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\MultiBBossESStartersTestCase.java 多集群演示功能测试...

    bboss mvc文件上传下载实战进阶

    NULL 博文链接:https://yin-bp.iteye.com/blog/1131637

    bboss会话共享培训文档

    bboss会话共享采用MongoDB作为存储后端,使用增量模式修改会话属性,提供高效的数据存储和访问。数据的序列化采用XML格式,目的是为了良好的可读性,并且易于监控。bboss兼容Servlet 2/3规范,能够与现有的应用系统...

    bboss 安全认证过滤器功能介绍

    3. **设置过滤规则**:在BBoss中,我们可以配置过滤器规则,指定哪些URL路径需要通过`SYSAuthenticateFilter`进行过滤。 4. **过滤请求**:对于需要认证的请求,`SYSAuthenticateFilter`会检查会话中是否存在认证...

    bboss-gencode:这是一个自动为bboss mvc,ioc,persistent,jsp,i18n,sql配置文件,webservice,hessian服务等生成源代码的工具。Dev文档yin-bp.iteye.comblog2256948-mvc source code

    9.国际化属性文件和国际化配置 10.readme.txt代码和配置文件集成配置说明 生成的所有文件存放在服务器上,代码生成器会提供打包下载功能 项目中包含的两个eclipse工程说明 gencode-core-代码生成器核心工程 gencode-...

    bboss mvcdemo 下载地址

    在“bboss mvc开发手册.doc”中,我们可能会找到关于如何使用BBoss MVCDemo进行开发的详细指南。 首先,让我们深入了解BBoss MVCDemo的核心特性: 1. **模型(Model)**:BBoss MVCDemo支持多种数据访问方式,如JDBC...

    基于bboss新版平台项目环境搭建和代码工具使用视频教程.rar

    8. **配置项目**:修改配置文件,如web.xml和bboss的配置文件,以适应你的业务需求。 9. **测试运行**:通过访问预设的URL,验证项目是否成功启动。 接下来,`bboss平台代码生成工具使用教程.wmv`可能涵盖了如何...

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿.pptx

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿

    Bboss国际化实践.ppt

    9. **属性文件命名、配置和存储**: - 文件命名:遵循类似Java包路径的规则,如`messages_[模块名称]_国别代码.properties`。 - 存储位置:可以在Web应用目录或WEB-INF子目录下。 - 加载方式:可以通过MVC框架或...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    **Elasticsearch 开发环境搭建与 BBoss 入门教程** ...通过提供的视频教程和源码示例,你可以逐步学习到环境配置、基本操作以及一些进阶技能,从而在实际项目中更有效地利用 Elasticsearch 和 BBoss。

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    本文将深入探讨在BBoss Persistent 1.0.2中如何高效地管理CLOB和BLOB数据。 首先,CLOB用于存储大量的文本数据,如长篇文章或XML文档,而BLOB则用于存储二进制数据,如图片、音频或视频文件。在传统的JDBC操作中,...

    基于Java的bboss-datatran数据采集与流批一体化处理工具设计源码

    本bboss-datatran项目基于Java开发,包含591个文件,包括Java源代码、Markdown文档、GIT忽略文件、Gradle构建文件、Properties配置文件、Preferences配置文件、XML配置文件、GIT属性文件、LICENSE文件和PNG图片。...

    企业级J2EE开源框架bboss

    1. **组件化开发**:BBoss支持模块化和组件化的开发模式,允许开发者根据项目需求选择必要的功能组件,避免了传统框架中“大而全”的问题,降低了系统的复杂度。 2. **数据库操作**:BBoss提供了便捷的数据访问层...

    基于bboss框架的全面设计源码自动生成工具

    该工具是一款基于bboss...此工具能够自动生成bboss MVC、IOC、持久化、JSP、i18n、SQL配置文件、Web服务、Hessian服务等相关源代码,适用于快速开发和项目迭代。详细文档请参考:http://yin-bp.iteye.com/blog/2256948

    bboss+es基本操作示例.zip

    在`demo`这个文件中,可能包含了使用bboss操作Elasticsearch的基本示例代码。例如,创建索引、插入文档、执行查询等。通常,这些示例会展示如何初始化bboss客户端,如何构造和执行DSL查询,以及如何处理返回结果。 ...

    bboss-db-elasticsearch-tool-master_java_

    压缩包中的`db-elasticsearch-tool`可能包含了框架的核心库、示例代码、文档和配置文件,帮助用户快速理解和使用这个框架。通过阅读源码、查看示例和文档,开发人员可以深入理解BBoss-DB-Elasticsearch-Tool的工作...

Global site tag (gtag.js) - Google Analytics