json(JavaScript object notation)
解析数据
var obj = eval(data);
获取数组中的对象
var x = obj["key"];//obj.key
遍历一个js的对象
for(var id in obj){
var oj = obj[id];
}
Spring资料
Spring中定义了7种不同的事物传播规则
1.PROPAGATION_MANDATORY:表示该方法必须运行在一个事务中。如果当前事务不存在,将抛出一个异常
2.PROPAGATION_NESTED:表示如果当前已经存在一个事务,则该方法应当运行在一个嵌套事务中.
表示嵌套的事务可以从当前事务中单独地提交或回滚。如果当前事务不存在,那么他看起来就和PROPAGATION_REQUIRED没有两样。
3.PROPAGATION_NEVER:表示当前的方法不应该运行在一个事务上下文中。如果当前存在一个事务,则会抛出一个异常。
4.PROPAGATION_NOT_SUPPORTED:表示该方法不应在事务中运行。如果一个现有的事务正在运行中,它将在该方法的运行期间被挂起。
5.PROPAGATION_REQUIRED:表示当前方法必须运行在一个事务中。如果一个现有的事务正在运行中,该方法将运行在这个事务中。
否则的话,就要开始一个新的事务。
6.PROPAGATION_REQUIRES_NEW:表示当前方法必须运行在它自己的事务里。它将启动一个新的事务。如果一个现有事务在运行的话,
将在这个方法运行期间被挂起。
7.PROPAGATION_SUPPORTS:表示当前方法不需要事务处理环境,但如果有一个事务已经在运行的话,这个方法也可以在这个事务里运行。
注:事务传播规则回答了一个问题,就是新的事务是否要被启动或是被挂起,或者方法是否要在事务环境中运行。
Spring的事务隔离级别
1.脏读:脏读发生在一个事务读取了被另一个事务改写但还未提交的数据时.如果这些改变在稍后被回滚,那么第一个事务读取的数据就是
无效的。
2.不可重复读:不可重复读发生在一个事务执行相同的查询两次或两次以上,但每一次查询结果都不同时。
这通常是由于另一个并发事务在两次查询之间更新了数据。
3.幻读:幻读和不可重复读相似。当一个事务(T1)读取几行记录后,另一个并发事务(T2)插入一些记录,幻读
就发生了。在后来的查询中,第一个事务(T1)就会发现有一些原来没有的额外的记录。
ISOLATION_DEFAULT:使用后端数据库默认的隔离级别。
ISOLATION_READ_UNCOMMITTED:允许你读取还未提交的改变了的数据。可能导致脏读,幻读或不可重复读
ISOLATION_READ_COMMITTED:允许在并发事务已经移交后读取。可防止脏读,但幻读和不可重复读仍可能发生
ISOLATION_REPEATABLE_READ:对相同字段的多次读取的结果是一致的,除非数据被睡本身改变。可防止脏读和不可重复读,但幻读仍可能发生
ISOLATION_SERIALIZABLE:完全服从ACID的隔离级别,确保不发生脏读,不可重复读和幻读。这在所有的隔离级别中也是最慢的,因为他是典型
的通过完全锁定在事务中涉及的数据表来完成的
ISOLATION_READ_UNCOMMITTED是高效的隔离级别,但是事务的隔离级别程度也是最低的。事务对脏读,不可重复读和幻读是开放的。
在另外一个极端,ISOLATION_SERIALIZABLE防止任何形式的隔离问题,但效率是最低的。
只读
如果一个事务只对后端数据库执行读操作,数据库就可能利用事务只读特性,使用某些优化措施。
通过声明一个事务为只读,你就给了后端数据库一个机会,来应用那些它认为合适的优化措施。
因为只读的优化措施是在事务启动时由后端数据库实施的,所以,只有将那些具有可能
启动新事务的传播行为的方法的事务标记成只读才有意义(PROPAGATION_REQUIRED,PROPAGATION_REQUIRES_NEW,PROPAGATION_NESTED).
事务超时
在事务启动时,超时的时钟就开始滴答响了,所以只有将那些具有可能启动新事务的传播行为的方法的事务
设置超时才有意义(PROPAGATION_REQUIRED,PROPAGATION_REQUIRES_NEW,PROPAGATION_NESTED).
spring中的<idref bean=""/>,<ref local=""/>,<idref local=""/>,<ref bean=""/>介绍
idref元素提供了一种速记和检验错误的方式,它用来设置属性为容器中其他bean的id或name,如下:
<bean id="beanA" class="...."/>
<bean id="beanB" class="...">
<property name="name">
<idref bean="beanA" />
</property>
</bean>
如上代码在运行时等同于如下的代码片段:
<bean id="beanA" class="....">
</bean>
<bean id="beanB" class="...">
<property name="name">
<value>beanA</value>
</property>
</bean>
可以看到第一种形式要好于第二种形式;通过使用idref,spring在装载的时候就会
检验其他bean是否存在;而第二种形式中,指定了name属性后,spring仅会在实例化
该类时才做检验。
另外,还可以使用local属性,条件是被引用的bean必须定义在同一个xml文件中,
并且,bean的名称就是bean的id。采用这种方式,会更早地在xml文档解析时,就检验bean
的名称,代码如下:
<property name="name">
<idref local="beanA" />
</property>
ref元素用来设置bean的协作者(引用其他bean作为属性),即一种依赖关系.
使用ref元素的bean属性是最常见的用法,它允许指向位于同一个或父bean工厂的bean(无论是否在同一个xml
文件中)。bean的属性值可以同目标bean的id或name属性相同,如下:
<ref bean="someBean"/>
local属性用以指定位于同一个文件中的bean,它可以利用xml解析器来验证xml的id引用。
local属性值必须与目标bean的id属性一致。当发现在同一个文件中不存在匹配元素时,将会报错。
为了尽可能早地发现错误,当目标bean位于同一个xml文件中,应当使用local,如下:
<ref local="someBean"/>
分享到:
相关推荐
<itemref idref="cover" linear="no"/> <itemref idref="content"/> </spine> <guide> <reference href="cover.html" type="cover" title="Cover"/> </guide> </package> ``` #### 四、EPUB格式的应用 EPUB...
其中,<xsd:extension base="beans:identifiedType"> 定义了该标签的id属性,注意这里引用的是spring-beans中的type,<xsd:group ref="stopElements"/>中定义了<bf:stop>标签允许的子标签,<xsd:attributeGroup ref=...
<Role idRef="admin_role"/> </User> </UserGroupSystem> ``` 以上XML示例包含了用户组、角色和用户的基本信息,以及它们之间的关系。用户组可能有父组、描述;角色包含权限列表;用户指定其所属的角色。注意,...
- 形式二:`<ref local="someBean">`,仅在同一XML文件内引用bean,且要求引用的是bean的ID。 - 形式三:`<bean parent="someBean">`,通过`parent`属性引用父容器中的bean。 4. **内部bean(inner bean)**: ...
<Property name="service" idRef="loginService"/> </Object> </Object> </mx:Object> ``` 通过以上的介绍可以看出,不同的框架各有侧重,选择合适的框架取决于具体项目的需要。例如,如果项目需要高度模块化...
<course id="c1" selectedBy="s1 s2">图像处理</course> </courses> ``` 3. IDREFS类型的使用: 要改写上述IDREF的例子,使用IDREFS允许我们列出多个学生选修同一门课程: ```xml <!ATTLIST course ...
<element1>Some data</element1> <element2/> </myDoc> ``` 在这个例子中,`myDoc`是根元素,它包含`element1`和`element2`两个子元素。`element1`可以包含字符数据(#PCDATA),而`element2`是空元素。 三、...
4. 标记:XML文档的结构,如`<class> <student><name></name></student></class>`。 5. 数据:XML文档中存储的实际内容,如`张三`。 6. 注释:`<!-- 注释内容 -->`用于添加解释性的文本。 7. 字符数据类型:#PCDATA...
<square width="100" /> 这个例子中,square 元素带有一个 width 属性,值为 100。 DTD 是一种强大的工具,用于定义 XML 文档的结构和约束规则。通过学习 DTD,可以更好地理解和使用 XML 文档。
292<br>10.5.6 IDREF属性类型... 292<br>10.5.7 ENTITY属性类型... 293<br>10.5.8 ENTITIES 属性类型... 294<br>10.5.9 NOTATION属性类型... 294<br>10.6 预定义属性... 296<br>10.6.1 xml:space. 296<br>10.6.2 ...
例如,`<department>`标签使用`dept name`、`building`和`budget`属性来存储部门信息。同样,`<instructor>`标签使用`IID`、`name`、`dept name`和`salary`属性来描述教师。`<teaches>`标签则通过`IID`和`course id`...
- `<itemref idref="">` - **idref**:与文件列表中的id关联。 - **指南**:指定电子书中的特定页面,如封面、目录等。 - **导读**:根据读者的需求定制特定的阅读路径。 #### 四、toc.ncx文件解析 - **作用**:...
- **元素(Element)**:XML文档的核心,如`<note>`、`<message>`,可以包含文本、其他元素或为空。 - **属性(Attribute)**:提供元素的附加信息,如`<img src="computer.gif" />`的`src`属性。 - **实体(Entity...
【XML应用开发(软件品牌)-1期 2.8 案例分析-DTD中属性取值方式的定义(上)】 XML(eXtensible Markup Language)是一种用于标记数据的语言,它允许用户自定义标签来结构化数据。DTD(Document Type Definition)...
6. 在XML中,模仿关系型数据库主键和外键关系的是ID/IDREF机制。所以选项A是正确的。 7. SAX(Simple API for XML)是一种基于事件驱动的XML解析器,而DOM(Document Object Model)是将整个XML文档加载到内存中...
3. 标签:标签必须闭合,且顺序嵌套,如`<tag>内容</tag>`。 4. 属性:属性值必须引用,例如`<element attr="value">`。 5. 空格处理:XML会保留所有的空格。 6. CDATA区域:`<![CDATA[字符数据]]>`,用于包含不受...
在深入探讨DTD(Document Type Definition)和XML(Extensible Markup Language)中的属性声明之前,我们需要先理解这两个概念的基础。XML是一种标记语言,用于结构化数据的存储和交换,而DTD则是一种规范,用来定义...
* IDREF:引用其它 ID 属性的值,该值必须在其它 ID 属性中存在 * IDREFS:引用多个其它 ID 属性的值,中间使用空格间隔 * ENTITY:未解析的外部实体类型 * ENTITIES:多个未解析的外部实体类型,中间使用空格间隔 *...
- `IDREF`属性类型用于在两个对象之间建立一对一的关系,其值为文档中另一个元素的ID属性值。 4. CDATA与#PCDATA的区别: - 当声明元素内容为纯文本字符串时,使用`#PCDATA`,例如`<!ELEMENT myElement #PCDATA>`...