皮皮网

皮皮网

【人物源码透视】【网页访问s源码】【网络考试系统源码】batchupdate源码

时间:2024-12-28 19:28:06 分类:热点

1.setState是同步更新还是异步更新?
2.React 的 setState 是同步还是异步?
3.Java编程全能词典的目 录

batchupdate源码

setState是同步更新还是异步更新?

       在React.8之前的版本中,我们更新数据需要用到setState,那么你知道setState是同步还是异步的呢?它内部是如何实现的,你了解吗?今天我们就一起来学习一下关于setState的那些事吧!

setState

       自从React.8添加了Hook后,我们编写React组件基本都是人物源码透视函数组件,很少用到class组件了。我们都知道在函数组件中通过useState这个Hook来修改组件的状态,而在.8之前的版本中,我们都是通过setState来修改组件的状态,因此我们还是很有必要了解一下关于setState相关的知识点。

       在面试或者工作中,我们经常会遇到关于组件状态更新的问题,就拿setState来说,网页访问s源码在组件更新的时候,setState是同步更新还是异步更新的?当我们更新一个组件的状态后,我们如何才能立即获取到刚才更新的状态?这些就是我们需要学习和了解的地方。要了解setState是同步还是异步,就先需要了解一下React中的合成事件了。

       如果了解过React事件相关方面的童鞋,那么就会知道React的事件都是合成事件,而不是js的原生事件。那什么是合成事件呢?简单来说就是React通过给document上挂载一个事件监听函数,通过事件冒泡的方式来完成事件的执行,当DOM元素触发后会冒泡到document,而React就会找到对应的组件生成一个合成事件出来,并按组件树模拟一遍事件冒泡,网络考试系统源码这就是React中的合成事件。

       当然,上述的方法在React之后的版本中进行了修改。React中将事件挂载在了DOM的容器中,也就是挂载在ReactDOM执行的节点上,这样修改的好处是哪怕一个项目中有多个版本的React存在,组件的事件也不会乱套。那么哪些事件会被捕获生成合成事件呢?在React源码的事件快照中所包含的事件才会被捕获到,例如:click、blur、focus等等。

       了解完合成事件,我们该继续学习setState是memset函数源码分析同步还是异步的。一般来说setState是异步的,例如下面这个例子:

clsssTestextendsComponent{ state={ count:0};componentDidMount(){ this.setState({ count:1},()=>{ console.log(this.state.count);//1});console.log(this.state.count);//0}render(){ return(...)}}

       当我们在componentDidMount生命周期中通过setState修改组件的状态后,我们只有在setState的第二个参数中才能立即获取到当前修改的值,而在外部获取到的值还是未改变之前的值,由此可以证明setState是异步的。我们是否会觉得React中的setState执行像是一个队列,因为React会根据队列逐一执行,并且合并setState的操作,当state数据完成后执行回调,然后根据结果来更新虚拟DOM触发渲染。那么为什么React官方团队要按这样的执行思路来实现呢?为什么不能用同步执行的思路来实现呢?

       在React出来后,官方给出的解释的是:为了保持内部的一致性,如果setState是易源码转网页同步的,但是props却不是,就会导致数据的错乱;第二点就是为了后续的升级启用并发更新。那么什么情况下setState是同步的呢?

       如果我们将setState放在setTimeout或者setInterval中,那么它们的执行就会跟上面将的完全不同了,大致的代码如下:

clsssTestextendsComponent{ state={ count:0};componentDidMount(){ this.setState({ count:this.state.count+1});console.log(this.state.count);//0setTimeout(()=>{ this.setState({ count:this.state.count+1});console.log('setTimeout',this.state.count);//1},0);}render(){ return(...)}}

       当setState执行时,会将状态存入padding队列中,然后React会判断当前是否处于batchupdate阶段,如果是,则会将组件存入dirtyComponents中;反之则会遍历所有的dirtyComponents,并调用updateComponent用于更新pending、state或者props。

       在React的生命周期事件和合成事件中可以获取到isBatchingUpdates的控制权,用于将状态放入队列中,并控制执行的节奏。而在setTimeout、addEventListener这些原生事件中,无法获取到isBatchingUpdates的控制权,就会导致isBatchingUpdates只会为false,且会一直执行,因此setState就会同步执行并修改组件的状态。

最后

       setState其实并不是真的异步,只是看起来像是异步执行的,它是通过isBatchingUpdates来判断当前执行是同步还是异步的,如果isBatchingUpdates为true,则按异步执行,反之就是同步执行。要改变isBatchingUpdates,只需要打破React的合成事件,在js的原生事件中执行setState即可,所以你知道setState是同步还是异步的吗?

React 的 setState 是同步还是异步?

       setState 是同步还是异步?

       代码示例表明,setState 呈现异步特性。在 setTimeout 内修改两次 state 后打印,结果为两次 0,说明 state 立即修改,之后每次渲染,结果为 0、1、2,证实了 setState 的同步性。

       疑惑继续,代码进一步验证,setState 的行为不一致,打印结果为三次 0,仅触发一次渲染,说明 setState 确实为异步。

       类组件和函数组件的 setState 都遵循异步模式,修改 state 时,渲染仅触发一次,说明状态更新与渲染之间存在延迟。

       深入源码探索,React 渲染流程揭示了关键。vdom 转换为 fiber 的过程是可打断的,而 fiber 更新 DOM 的 commit 阶段是同步的。这解释了 setState 的异步行为。

       setState 的执行依赖于执行环境的 context,批量更新会立即触发渲染,而非批量则延迟至下次更新。

       setTimeout 内的 setState 会触发即时渲染,这与批量更新的 context 无关。通过设置 batchUpdates API 可实现批量执行,但这需要额外操作。

       React 引入了 createRoot API,使得所有 setState 操作默认为异步批量执行,解决了这个问题。

       综上所述,setState 的同步异步特性取决于其执行环境和 React 版本。在 React 中,所有操作默认为异步批量执行,将消除同步异步的讨论。

Java编程全能词典的目 录

       ç¬¬ 1ç«  为什么说《Java编程全能词典》是编程开发人员的必备工具 1

       1.1 海量编程资源库 2

       1.1.1 超容量技术资源库 2

       1.1.2 全方位视频资源库 2

       1.1.3 丰富的实例资源库 3

       1.1.4 多行业项目资源库 4

       1.1.5 实际应用方案资源库 5

       1.1.6 精美的界面素材资源库 5

       1.1.7 详尽的源码资源库 6

       1.1.8 多功能工具资源库 6

       1.2 《Java编程全能词典》适合各类人员使用 6

       1.3 高效查询 智能检索 7

       1.4 多种词典 协助编程 8

       1.5 享有多种方式的升级与售后服务 9

       1.5.1 享受全方位服务 9

       1.5.2 提供多种升级方式

       ç¬¬ 2ç«  怎样快速使用《Java编程全能词典》

       2.1 如何启动《Java编程全能词典》

       2.1.1 如何启动主程序

       2.1.2 如何启动浮动窗口

       2.2 初识《Java编程全能词典》程序界面

       2.2.1 认识主导航区

       2.2.2 了解功能导航区

       2.2.3 了解内容导航区

       2.2.4 了解内容显示设置区

       2.3 特色功能快速使用

       2.3.1 分类管理个人资源

       2.3.2 编程资源查询

       2.3.3 浮动窗口查询

       2.3.4 收藏重要文档

       2.3.5 记录学习心得

       2.3.6 为文档设置书签

       2.3.7 切换内容显示区

       ç¬¬ 3ç«  如何在“开发”使用模式中学习和使用编程资源

       3.1 如何分类管理个人编程资源

       3.2 学习或浏览编程技术资源

       3.3 如何学习浏览应用实例资源

       3.4 如何学习浏览开发项目资源

       3.5 如何学习浏览应用方案资源

       3.6 观看入门及开发视频资源

       3.6.1 程序入门学习录像

       3.6.2 项目开发视频录像

       3.7 如何浏览及使用界面素材资源

       3.7.1 “界面中心”素材预览效果

       3.7.2 了解“界面中心”素材内容

       3.7.3 通过目录导航浏览图片

       3.8 根据实际需要使用“开发”模式

       3.8.1 查询编程资源

       3.8.2 学习编程技术

       3.8.3 管理我的代码

       ç¬¬ 4ç«  使用“入门”模式进行阶段式学习+强化训练

       4.1 分阶段学习编程技术

       4.1.1 从零开始

       4.1.2 进阶提高

       4.1.3 中级开发

       4.1.4 高级开发

       4.2 巩固提高开发技能

       4.2.1 入门训练

       4.2.2 进阶训练

       4.2.3 中级训练

       4.2.4 高级训练

       4.3 不同水平的编程人员如何使用“入门”模式

       4.3.1 零基础编程人员学习方法

       4.3.2 初学者编程人员使用方法

       4.3.3 中级开发人员使用方法

       ç¬¬ 5ç«  如何使用“应用”模式的8个版块实现高效开发

       5.1 利用目录快速学习和检索编程技术

       5.2 高效查询与智能检索编程技术

       5.2.1 通过多种方式深层次查询编程技术

       5.2.2 通过单个字母(关键字)智能检索编程技术

       5.3 有效利用源码实现选择性下载

       5.4 计算机(专业)英语速查

       5.4.1 通过“搜索”查询单词解释

       5.4.2 将频繁使用的英语单词设置为标签

       5.5 使用多种辅助词典协助编程

       5.5.1 SQL词典

       5.5.2 SQL数据库技术

       5.5.3 UML词典

       5.5.4 软件工程词典

       5.5.5 程序测试词典

       5.5.6 编码规范词典

       5.5.7 术语词典

       5.6 借助各种实用工具快速提高开发效率

       5.7 有效通过小工具解决实际问题

       5.8 不同人群如何使用“应用”模式进行快速、高效的开发

       5.8.1 高效查询与检索海量编程资源

       5.8.2 利用英语词典及各种辅助词典有效解决实际开发问题

       5.8.3 借助各种实用工具实现高效开发

       ç¬¬ 6ç«  字符串

       6.1 charAt方法

       6.2 compareTo方法

       6.3 compareToIgnoreCase方法

       6.4 concat方法

       6.5 contains方法

       6.6 copyValueOf方法

       6.7 endsWith方法

       6.8 equals方法

       6.9 equalsIgnoreCase方法

       6. format方法

       6. getBytes方法

       6. indexOf方法

       6. isEmpty方法

       6. lastIndexOf方法

       6. length方法

       6. replace方法

       6. replaceAll方法

       6. replaceFirst方法

       6. split方法

       6. startsWith方法

       6. substring方法

       6. toCharArray方法

       6. toLowerCase方法

       6. toUpperCase方法

       6. trim方法

       6. valueOf方法

       ç¬¬ 7ç«  集合类

       7.1 List接口

       7.1.1 add方法

       7.1.2 addAll方法

       7.1.3 clear方法

       7.1.4 contains方法

       7.1.5 containsAll方法

       7.1.6 equals方法

       7.1.7 get方法

       7.1.8 set方法

       7.1.9 hashCode方法

       7.1. indexOf方法

       7.1. lastIndexOf方法

       7.1. isEmpty方法

       7.1. iterator方法

       7.1. remove方法

       7.1. removeAll方法

       7.1. retainAll方法

       7.1. size方法

       7.1. subList方法

       7.1. toArray方法

       7.2 Map接口

       7.2.1 clear方法

       7.2.2 containsKey方法

       7.2.3 containsValue方法

       7.2.4 equals方法

       7.2.5 get方法

       7.2.6 isEmpty方法

       7.2.7 keySet方法

       7.2.8 put方法

       7.2.9 putAll方法

       7.2. remove方法

       7.2. size方法

       7.2. values方法

       7.3 Set接口

       7.3.1 add方法

       7.3.2 addAll方法

       7.3.3 clear方法

       7.3.4 contains方法

       7.3.5 containsAll方法

       7.3.6 equals方法

       7.3.7 isEmpty方法

       7.3.8 iterator方法

       7.3.9 remove方法

       7.3. removeAll方法

       7.3. retainAll方法

       7.3. size方法

       7.3. toArray方法

       ç¬¬ 8ç«  数据库编程

       8.1 DriverManagerç±»

       8.1.1 getConnection方法

       8.1.2 setLoginTimeout方法

       8.2 Connection接口

       8.2.1 常量

       8.2.2 createStatement方法

       8.2.3 prepareStatement方法

       8.2.4 setReadOnly方法

       8.2.5 isReadOnly方法

       8.2.6 setAutoCommit方法

       8.2.7 getAutoCommit方法

       8.2.8 setSavepoint方法

       8.2.9 releaseSavepoint方法

       8.2. setTransactionIsolation方法

       8.2. getTransactionIsolation方法

       8.2. commit方法

       8.2. rollback方法

       8.2. close方法

       8.2. isClosed方法

       8.3 Statement接口

       8.3.1 常量

       8.3.2 execute方法

       8.3.3 executeUpdate方法

       8.3.4 executeQuery方法

       8.3.5 getConnection方法

       8.3.6 setMaxRows方法

       8.3.7 getMaxRows方法

       8.3.8 close方法

       8.3.9 isClosed方法

       8.4 PreparedStatement接口

       8.4.1 execute方法

       8.4.2 executeQuery方法

       8.4.3 executeUpdate方法

       8.4.4 setBoolean方法

       8.4.5 setByte方法

       8.4.6 setBytes方法

       8.4.7 setDate方法

       8.4.8 setTime方法

       8.4.9 setTimestamp方法

       8.4. setDouble方法

       8.4. setFloat方法

       8.4. setInt方法

       8.4. setLong方法

       8.4. setShort方法

       8.4. setString方法

       8.5 ResultSet接口

       8.5.1 常量

       8.5.2 afterLast方法

       8.5.3 beforeFirst方法

       8.5.4 close方法

       8.5.5 first方法

       8.5.6 getBoolean方法

       8.5.7 getByte方法

       8.5.8 getBytes方法

       8.5.9 getDate方法

       8.5. getTime方法

       8.5. getTimestamp方法

       8.5. getDouble方法

       8.5. getFloat方法

       8.5. getInt方法

       8.5. getLong方法

       8.5. getObject方法

       8.5. getShort方法

       8.5. getString方法

       8.5. getType方法

       8.5. isAfterLast方法

       8.5. isBeforeFirst方法

       8.5. isClosed方法

       8.5. isFirst方法

       8.5. isLast方法

       8.5. last方法

       8.5. next方法

       8.5. previous方法

       ç¬¬ 9ç«  JSP指令

       9.1 include指令

       9.2 Page指令

       9.2.1 autoFlush属性

       9.2.2 buffer属性

       9.2.3 language属性

       9.2.4 contentType属性

       9.2.5 errorPage属性

       9.2.6 extends属性

       9.2.7 import属性

       9.2.8 info属性

       9.2.9 isErrorPage属性

       9.2. isIEIgnored属性

       9.2. pageEncoding属性

       9.3 taglib指令

       ç¬¬ ç«  JSP的动作标签

       .1 <jsp:fallback>

       .2 <jsp:forward>

       .3 <jsp:getProperty>

       .4 <jsp:include>

       .5 <jsp:param>

       .6 <jsp:params>

       .7 <jsp:plugin>

       .8 <jsp:setProperty>

       .9 <jsp:useBean>

       ç¬¬ ç«  JSP内置对象

       .1 application对象

       .1.1 getAttribute(String name)方法

       .1.2 getAttributeName方法

       .1.3 getRealPath(String path)方法

       .1.4 getResource(Stirng path)方法

       .1.5 getServletInfo方法

       .1.6 removeAttribute(String key)方法

       .1.7 setAttribute(String name,Object object)方法

       .2 config对象

       .2.1 getInitParameter方法

       .2.2 getInitParameterNames方法

       .2.3 getServletContext方法

       .2.4 getServletName方法

       .3 exception对象

       .3.1 getMessage方法

       .3.2 getLocalizedMessage方法

       .3.3 printStackTrace方法

       .4 out输出对象

       .4.1 clear方法

       .4.2 clearBuffer方法

       .4.3 close方法

       .4.4 flush方法

       .4.5 getBufferSize方法

       .4.6 getRemaining方法

       .4.7 isAutoFlush方法

       .4.8 print方法

       .4.9 println方法

       .4. 其他println方法

       .5 page对象

       .5.1 getClass方法

       .6 pageContext对象

       .6.1 forward方法

       .6.2 getAttribute方法

       .6.3 getException方法

       .6.4 getRequest方法

       .6.5 getResponse方法

       .6.6 getServletConfig方法

       .6.7 removeAttribute方法

       .6.8 setAttribute方法

       .7 request对象

       .7.1 getAttribute方法

       .7.2 getAttributeNames方法

       .7.3 getCookies方法

       .7.4 getCharacterEncoding方法

       .7.5 getContentLength方法

       .7.6 getHeader方法

       .7.7 getHeaders方法

       .7.8 getHeadersNames方法

       .7.9 getInputStream方法

       .7. getMethod方法

       .7. getParameter方法

       .7. getParameterValues方法

       .7. getProtocol方法

       .7. getQueryString方法

       .7. getRequestURI方法

       .7. getRequestURL方法

       .7. getRemoteAddr方法

       .7. getRemoteHost方法

       .7. getSession方法

       .7. getServerName方法

       .7. getServerPath方法

       .7. getServerPort方法

       .7. isUserInRole方法

       .7. removeAttribute方法

       .7. setAttribute方法

       .8 response对象

       .8.1 addCookie方法

       .8.2 addHeader方法

       .8.3 containsHeader方法

       .8.4 getCharacterEncoding方法

       .8.5 getOutputStream方法

       .8.6 sendError方法

       .8.7 sendRedirect方法

       .8.8 setContentType方法

       .8.9 setDateHeader方法

       .8. setHeader方法

       .9 session对象

       .9.1 getAttribute方法

       .9.2 getAttributeNames方法

       .9.3 getCreationTime方法

       .9.4 getId方法

       .9.5 getLastAccessedTime方法

       .9.6 getMaxInactiveInterval方法

       .9.7 setAttibute方法

       .9.8 setMaxInactiveInterval方法

       .9.9 removeAttribute方法

       ç¬¬ ç«  JSTL核心标签库

       .1 表达式标签

       .1.1 <c:out>标签

       .1.2 <c:set>标签

       .1.3 <c:remove>标签

       .1.4 <c:catch>标签

       .2 流程控制标签

       .2.1 <c:if>标签

       .2.2 <c:choose>标签

       .2.3 <c:when>标签

       .2.4 <c:otherwise>标签

       .3 循环标签

       .3.1 <c:forEach>标签

       .3.2 <c:forTokens>标签

       .4 URL操作标签

       .4.1 <c:import>标签

       .4.2 <c:redirect>标签

       .4.3 <c:url>标签

       .4.4 <c:param>标签

       ç¬¬ ç«  Struts控制器组件

       .1 Actionç±»

       .1.1 addErrors方法

       .1.2 addMessages方法

       .1.3 execute方法

       .1.4 isTokenValid方法

       .1.5 getResources方法

       .1.6 resetToken方法

       .1.7 saveToken方法

       .1.8 saveErrors方法

       .1.9 saveMessages方法

       .2 ActionServletç±»

       .2.1 doGet方法

       .2.2 doPost方法

       .2.3 destroy方法

       .2.4 init方法

       .2.5 initInternal方法

       .2.6 initOther方法

       .2.7 process方法

       .3 DispatchActionç±»

       .3.1 execute方法

       .3.2 getParameter方法

       .3.3 getMethodName方法

       .4 ForwardActionç±»

       .4.1 execute方法

       .5 IncludeActionç±»

       .5.1 execute方法

       .6 LookupDispatchActionç±»

       .6.1 execute方法

       .6.2 getKeyMethodMap方法

       .6.3 getMethodName方法

       .7 ModuleUtilsç±»

       .7.1 getInstance()方法

       .7.2 getModuleConfig()方法

       .8 SwitchActionç±»

       .8.1 execute方法

       ç¬¬ ç«  Struts Bean标签库

       .1 <bean:define>标签

       .2 <bean:cookie>标签

       .3 <bean:header>标签

       .4 <bean:parameter>标签

       .5 <bean:page>标签

       .6 <bean:size>标签

       .7 <bean:message>标签

       .8 <bean:write>标签

       .9 <bean:resource>标签

       . <bean:include>标签

       . <bean:struts>标签

       ç¬¬ ç«  Struts HTML标签库

       .1 <html:base>标签

       .2 <html:checkbox>标签

       .3 <html:errors>标签

       .4 <html:file>标签

       .5 <html:form>标签

       .6 <html:hidden>标签

       .7 <html:html>标签

       .8 <html:img>标签

       .9 <html:image>标签

       . <html:link>标签

       . <html:messages>标签

       . <html:multibox>标签

       . <html:option>标签

       . <html:options>标签

       . <html:optionCollection>标签

       . <html:password>标签

       . <html:radio>标签

       . <html:submit>标签

       . <html:select>标签

       . <html:text>标签

       . <html:textarea>标签

       ç¬¬ ç«  Struts Logic标签库

       .1 <logic:equal>标签

       .2 <logic:notEqual>标签

       .3 <logic:greaterEqual>标签

       .4 <logic:greaterThan>标签

       .5 <logic:lessEqual>标签

       .6 <logic:lessThan>标签

       .7 <logic:match>标签

       .8 <logic:notMatch>标签

       .9 <logic:empty>标签

       . <logic:notEmpty>标签

       . <logic:present>标签

       . <logic:notPresent>标签

       . <logic:messagesPresent>标签

       . <logic:messagesNotPresent>标签

       . <logic:iterate>标签

       . <logic:forward>标签

       . <logic:redirect>标签

       ç¬¬ ç«  Hibernate常用类与接口

       .1 Configurationç±»

       .1.1 构造方法

       .1.2 configure方法

       .1.3 addClass方法

       .1.4 buildSessionFactory方法

       .1.5 addResource方法

       .1.6 setProperty方法

       .2 SessionFactory接口

       .2.1 openSession方法

       .2.2 isClosed方法

       .2.3 close方法

       .3 Session接口

       .3.1 beginTransaction方法

       .3.2 isOpen方法

       .3.3 close方法

       .3.4 save方法

       .3.5 update方法

       .3.6 saveOrUpdate方法

       .3.7 delete方法

       .3.8 get方法

       .3.9 load方法

       .3. evict方法

       .3. clear方法

       .3. contains方法

       .3. createQuery方法

       .3. createSQLQuery方法

       .3. createCriteria方法

       .3. lock方法

       .4 Transaction接口

       .4.1 begin方法

       .4.2 commit方法

       .4.3 rollback方法

       .4.4 wasCommitted方法

       .4.5 wasRolledBack方法

       .5 Query接口

       .5.1 list方法

       .5.2 iterate方法

       .5.3 uniqueResult方法

       .5.4 setMaxResults方法

       .5.5 setFirsResult方法

       .5.6 setEntity方法

       .5.7 setParameter方法

       .5.8 setDate方法

       .5.9 setString方法

       .5. setInteger方法

       .5. setBoolean方法

       .5. setDouble方法

       .5. setFloat方法

       .6 Criteria接口

       .6.1 add方法

       .6.2 addOrder方法

       .6.3 createCriteria方法

       .6.4 createAlias方法

       .6.5 list方法

       .6.6 setMaxResults方法

       .6.7 setFirsResult方法

       .6.8 uniqueResult方法

       .6.9 setProjection方法

       .7 Projectionsç±»

       .7.1 projectionList方法

       .7.2 id方法

       .7.3 property方法

       .7.4 distinct方法

       .7.5 groupProperty方法

       .7.6 avg方法

       .7.7 sum方法

       .7.8 max方法

       .7.9 min方法

       .7. rowCount方法

       .7. count方法

       .8 Restrictionsç±»

       .8.1 allEq方法

       .8.2 eq方法

       .8.3 lt方法

       .8.4 le方法

       .8.5 gt方法

       .8.6 ge方法

       .8.7 between方法

       .8.8 like方法

       .8.9 in方法

       .8. and方法

       .8. or方法

       .8. not方法

       .8. isNotNull方法

       .8. isNull方法

       .8. sqlRestriction方法

       .9 SQLQuery接口

       .9.1 addEntity方法

       .9.2 addJoin方法

       .9.3 addScalar方法

       ç¬¬ ç«  Hibernate配置属性

       .1 dialect属性

       .2 connection.driver_class属性

       .3 connection.url属性

       .4 connection.username属性

       .5 connection.password属性

       .6 show_sql属性

       .7 format_sql属性

       .8 use_sql_comments属性

       .9 default_schema属性

       . default_catalog属性

       . session_factory_name属性

       . max_fetch_depth属性

       . default_batch_fetch_size属性

       . default_entity_mode属性

       . order_updates属性

       . generate_statistics属性

       . use_identifer_rollback属性

       . cache.use_query_cache属性

       . cache.use_second_level_cache属性

       . cache.provider_class属性

       . cache.region_prefix属性

       . cache.use_minimal_puts属性

       . transaction. factory_class属性

       ç¬¬ ç«  Hibernate映射节点

       .1 <hibernate-mapping>节点

       .2 <class>节点

       .3 <id>节点

       .4 <generator>节点

       .5 <key>节点

       .6 <property >节点

       .7 <one-to-one>节点

       .8 <many-to-many>节点

       .9 <set>节点

       . <many-to-one>节点

       . <one-to-many>节点

       ç¬¬ ç«  Spring容器

       .1 ClassPathXmlApplicationContextç±»

       .1.1 构造方法

       .2 FileSystemXmlApplicationContextç±»

       .2.1 构造方法

       .3 XmlBeanFactoryç±»

       .3.1 构造方法

       .4 WebApplicationContext接口

       .5 Spring容器类的方法

       .5.1 containsBean方法

       .5.2 getBean方法

       .5.3 getBeanDefinitionCount方法

       .5.4 getBeanDefinitionNames方法

       .5.5 getBeanNamesForType方法

       .5.6 getBeansOfType方法

       .5.7 getConfigLocations方法

       .5.8 getType方法

       .5.9 isSingleton方法

       .5. isTypeMatch方法

       .5. getServletContext方法

       ç¬¬ ç«  Spring持久化

       .1 DriverManagerDataSourceç±»

       .1.1 构造方法

       .1.2 getConnection方法

       .1.3 getConnectionProperties方法

       .1.4 getDriverClassName方法

       .1.5 getPassword方法

       .1.6 getUrl方法

       .1.7 getUsername方法

       .1.8 setConnectionProperties方法

       .1.9 setDriverClassName方法

       .1. setPassword方法

       .1. setUrl方法

       .1. setUsername方法

       .2 HibernateTemplateç±»

       .2.1 构造方法

       .2.2 delete方法

       .2.3 deleteAll方法

       .2.4 execute方法

       .2.5 executeFind方法

       .2.6 find方法

       .2.7 get方法

       .2.8 loadAll方法

       .2.9 save方法

       .2. saveOrUpdate方法

       .2. saveOrUpdateAll方法

       .2. update方法

       .3 JdbcTemplateç±»

       .3.1 batchUpdate方法

       .3.2 query方法

       .3.3 queryForInt方法

       .3.4 queryForList方法

       .3.5 queryForLong方法

       .3.6 queryForMap方法

       .3.7 queryForObject方法

       .3.8 update方法

       ç¬¬ ç«  Spring Web表单标签

       .1 <form:checkbox>

       .2 <form:errors>

       .3 <form:form>

       .4 <form:hidden>

       .5 <form:input>

       .6 <form:option>

       .7 <form:options>

       .8 <form:password>

       .9 <form:radiobutton>

       . <form:select>

       . <form:textarea>