- 浏览: 778664 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (256)
- ssh (18)
- webservice (8)
- java基础 (38)
- j2EE方方面面 (17)
- 随意涂鸭!呵呵 (2)
- 数据库 (22)
- work (10)
- XML与XML解析 (9)
- 测试 (2)
- sso (1)
- ldap (6)
- java 模板技术 (4)
- 版本管理 (1)
- 每日小点滴 (26)
- javascript (26)
- Jakarta Commons (2)
- css (6)
- 设计 (3)
- Eclipse插件开发 (3)
- BAP (3)
- web控件 (2)
- java加密解密 (4)
- 调优 (6)
- 界面技术 (3)
- java多线程 (6)
- 互联网 (2)
- 日志管理 (4)
- java调度 (3)
- rest (0)
- Python (2)
- mobile (2)
- 2016的故事 (4)
- Docker (1)
- NOSQL_Hadoop (0)
最新评论
-
promiseloney:
这个女程序员厉害了。。。
JVM调优:GC 参数 -
zxjlwt:
可以通过WebService上传一个文件吗?素人派http:/ ...
webservice传送XML大小估算 -
liaoshaoyang:
写的不错嘛 可以做参考
权限管理设计一 -
aaaaaaaaabaas:
谢谢,对我有帮助
Apache Commons Configuration使用入门 -
Jack_Wilshere:
com.smartdot.pdm.business.corp. ...
java导出txt
http://www.opensymphony.com/propertyset/
一、PropertySet介绍
PropertySet:管理属性(Property)的好工具,它提供一个抽象方法来向一个持久性存储源中动态保存和取回类型化的属性数据。支持多种持久化方式,例如:XML, EJB, Ofbiz, JDBC, Castor JDO,Memory等,同时也提供了一个简单的API来根据你的需要写你自己定制的PropertySets。
A PropertySet is designed to be associated with other entities in the system for storing key/value property pairs. :简单的说,设计PropertySet是用来存储键值/属性对的。
二、PropertySet的用法和配置
PropertySet模块的配置文件被存入当前应用的类路径,它按照次序找以下文件
- /propertyset-default.xml
- /META-INF/propertyset.xml
- /META-INF/propertyset-default.xml
propertyset-default.xml 文件总是被找到,因为它被包含在propertyset.jar中,你可以通过定义你自己的propertyset-default.xml 文件重写这些配置,这个配置文件的格式如下:
<propertysets> <propertset name="baz" class="com.foo.bar.BazPropertySet"> <arg name="some" value="thing"/> ... </propertyset> ... </propertysets>
使用上面的PropertySet的代码是:
import com.opensymphony.module.propertyset.*; ... HashMap args = new HashMap(); // add parameters to the args map PropertySet ps = PropertySetManager.getIntance("baz", args);
args 用来初始化配置中的参数。
二、PropertySet 数据库说明
绝大部分PropertySet实现都把数据持久化到关系型数据库中,因为PropertySet 存储了很多类型的数据,而在开发的时候是那种类型是不确定的,所以数据库结果表并不是最优、最标准的组织形式。由于这种表设计不是最优的,所以在这些表上做查询时速度将会很慢。所以我们建议建立下面的索引(indices)在表OS_PROPERTYENTRY 上,这样可以提高20%的速度。
CREATE UNIQUE INDEX os_PropertyEntry_keyidx ON os_PropertyEntry( entityName, entityId, keyValue ) CREATE UNIQUE INDEX os_PropertyEntry_allidx ON os_PropertyEntry( entityName, entityId )
除了索引,另一个可以提高性能的方面是当你写应用时key名字的考虑,如果你所有的key名都像com.acme.foo, com.acme.bar,com.acme.baz,你的数据库不可能恰当的区分OS_PROPERTYENTRY 中的数据,或者把key 名取得直白、明确一些,例如:foo,bar,and bax,移除相同的前缀,或者使用一个不同key命名惯例,例如:oof.emca.moc, rab.emca.moc, and zab.emca.moc。总之,通过恰当的取key的名字,你的数据库可以更快的访问PropertySets.
三、PropertySet接口说明
public interface PropertySet
一个键只能包含一个值,键必须是唯一的(即使类型不同)。如果使用了一个已经被用的键名且类型相同,设置的新值将会覆盖旧值。
1、如果使用一个已经被用的但是类型不同的键,一个DuplicatePropertyKeyException异常将被抛出。
2、一个属性有多种类型也是不被允许的,如果一个属性有多个类型,一个IllegalPropertyException 异常将被抛出。
3、如果得到一个已存在属性,但是返回的类型不对应,一个InvalidPropertyTypeException异常被抛出。
4、如果取一个不在的属性,null(或者是初始值)被返回。
使用一个不同的类型返回 ,如果新的类型比旧的类型长度更长一些,则不会抛出异常,例如用float 类型接整型数据。
四、Class CachingPropertySet
此类实现了PropertySet接口,属于包
com.opensymphony.module.propertyset.cached.CachingPropertySet
1、PropertySet 的实现,可以存储到属性到缓冲中。
2、当你的应用是一个独占的访问时才能用这个类,否则警慎使用。
3、大数据量的装载。
发表评论
-
Spring boot junit test
2020-06-16 16:06 3511. 下面的AgreementService 引用了 Fei ... -
Istio
2020-06-15 09:04 274容器编排平台使 用了实例scaling来对流量进行管理。而 ... -
Spring boot junit test
2020-06-14 11:26 272Refer to: https://www.baeldu ... -
Gradle task 接收参数
2020-06-09 09:55 1487//1. 执行gradle task 时传递参数 ./g ... -
Git
2018-07-29 11:49 476一、 跟踪分支与远程 ... -
企业级API网关
2018-07-26 21:17 634API网关就是用来代替控制器层 Controller,使用A ... -
分步式事务
2018-07-25 21:46 632分布式事务场景: 不同系统,不同数据库 例如,外卖点单后 ... -
转载:IBM红米连接wifi的方法
2014-05-05 16:47 1500转载自:http://bbs.xia ... -
English interview
2013-10-14 14:42 1017Good morning ! It is really my ... -
需要测试一下的问题
2013-04-26 10:15 0<update id="updateSit ... -
int i 引出JVM故事
2013-02-27 18:47 750public class TestDuanqf { ... -
Win7快速启动栏设置及防止消失方法
2011-03-07 10:08 2260转载自:http://blog.s ... -
渐老的愤青
2010-06-11 10:26 1547我发现自己老了,因为睡得太晚、睡眠不足身体各项机能都下降,脾气 ... -
用DIV做带横向滚动条的多选框
2010-05-10 11:36 3446<!DOCTYPE HTML PUBLIC " ... -
ibatis 缓存 cacheModel
2009-07-30 13:40 1201<cacheModel type="LRU& ... -
java 路径的故事
2009-05-14 09:44 1435JSP中:${pageContext.request.cont ... -
发送激活码确认
2009-04-23 16:44 2909一、需求 最近做某项目的用户管理( ... -
09年03月27日--request 之 getParameterMap
2009-03-27 11:25 3437在struts1的action中, status参数通过par ... -
cookie介绍
2009-03-16 11:30 4741由于要做一个简单的SSO,所以学习了cookie部分,原来感觉 ... -
网络中工作组与域的解释
2009-03-16 10:30 1479为什么要组建局域网 ...
相关推荐
"propertyset-1.3" 是一个特定的软件组件,主要与Java和J2EE环境相关。这个组件的版本号是1.3,这通常意味着它是一个更新版本,可能包含了错误修复、性能优化或者新功能的添加。在Java开发中,版本号的更新对于...
属性集库(PSL,Property Set Library)是一个开源的C++库,专为开发者提供一套高效、便捷的数据管理和操作工具。这个库的核心理念是利用模板技术实现一种面向对象的编程模型,它支持值的观察、事件处理、垃圾回收、...
通过学习这些实例,你可以更好地理解`PropertyGrid`的用法,并将其灵活地应用于自己的项目中。 总结来说,`PropertyGrid`控件是.NET开发中的强大工具,它简化了创建属性编辑界面的过程。通过深入理解和实践,开发者...
属性动画(Property Animation)是Android 3.0(API级别11)引入的一种强大的动画系统,它极大地扩展了Android平台上的动画能力,使得开发者能够实现更为复杂和流畅的动态效果。本篇文章将深入探讨属性动画的概念、...
你可以通过解压"PropertyGrid.rar"并运行代码,来深入学习`PropertyGrid`的用法,了解如何根据具体需求调整其显示和交互效果。 总的来说,`PropertyGrid`是C#开发中一个非常实用的控件,能够帮助开发者快速构建具有...
通过学习这个例子,你可以了解到如何自定义`PropertyGrid`的行为,以满足特定的需求,比如本地化和定制输入控件。 总的来说,理解和运用`PropertyGrid`的自定义特性以及`UITypeEditor`是提高用户体验和增强应用程序...
考虑到压缩包中只有一个文件 "1_Property_Charge",这可能是一个单独的源代码文件、数据文件或者文档,但其类型(如.txt、.pdf、.java、.cpp等)未知。 尽管信息有限,我们可以根据常见的IT知识点进行一些假设和...
在C#编程语言中,`get`和`set`是访问器方法,它们用于属性(Property)的定义,提供了一种安全的方式来读取和修改对象的私有成员。属性是类的一个特性,它允许我们像访问字段一样访问数据,但同时提供了额外的控制和...
1. **自定义属性描述符(Attribute)**:你可以创建一个自定义属性,继承自DescriptionAttribute,然后在属性声明上应用这个自定义属性,提供中文描述。例如: ```csharp [Description("中文描述")] public string ...
总的来说,CORS-filter-1.7.jar和java-property-utils-1.9.jar这两个库在Java Web开发中扮演着重要角色,一个是解决前后端跨域问题,另一个则是处理配置文件的读写。理解并掌握这两个库的使用,对于提升Web应用的...
properties.setProperty("existingKey", "updatedValue"); // 保存到文件 saveProperties("config.properties"); ``` #### 五、其他常用方法 `Properties`类还提供了一些其他有用的方法,如: - `containsKey(key)...
除了指令和EL,JSP还提供了如`<jsp:useBean>`, `<jsp:setProperty>`, `<jsp:getProperty>`, `<jsp:forward>`, `<jsp:include>`等动作标签,它们简化了JavaBeans的使用和其他页面操作。 **JSP的现代替代品** 虽然...
3. **动作(Actions)**:如`<jsp:useBean>`、`<jsp:setProperty>`、`<jsp:getProperty>`等,用于管理JavaBean和其他操作。 **请求控制器结构(Request Controller)** 请求控制器,也称为JSP Model 2架构,建议...
- **jsp:setProperty**:设置JavaBean的属性。 - **jsp:getProperty**:读取JavaBean的属性。 ### 6. EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library) - **EL**:简化了数据访问,允许...
- **jsp:setProperty**:设置JavaBean的属性。 - **jsp:getProperty**:获取JavaBean的属性。 **5. EL(Expression Language)与JSTL(JavaServer Pages Standard Tag Library)** - **EL**:简化了JSP中的数据...
本篇文章将探讨“Hibernate学习一:简单应用1配置文件版”,主要涵盖如何配置Hibernate,创建实体类,以及进行基本的CRUD操作。 首先,我们来了解Hibernate的核心配置文件——`hibernate.cfg.xml`。这个文件包含了...
`Property Get`用于读取属性值,`Property Let`用于设置属性值,而`Property Set`在设置对象属性时使用,特别适用于变量类型为对象的情况。 3. **属性过程的编写**: - 比如,为了定义`DateAdd`属性,你可以使用...
本学习笔记将带你从零开始,逐步掌握C#的基础语法,并最终实现你的第一个项目设计。下面,我们将详细探讨C# 6.0中的关键知识点。 1. **自动属性(Auto-Implemented Properties)** 在C# 6.0之前,我们定义属性通常...
在VB.NET中,对象可以通过Dim语句创建,如`Dim objForm As New Form1`,这会创建一个新的Form1类型的对象实例,并将其赋值给变量objForm。 2. 类:类是对象的模板或蓝图,定义了对象的属性和方法。在VB.NET中,你...