﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-自由飞翔-随笔分类-spring</title><link>http://www.blogjava.net/GavinMiao/category/49316.html</link><description>我在仰望，java之上</description><language>zh-cn</language><lastBuildDate>Fri, 06 Apr 2012 12:41:40 GMT</lastBuildDate><pubDate>Fri, 06 Apr 2012 12:41:40 GMT</pubDate><ttl>60</ttl><item><title>ssh集成中session的管理（转载）</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/23/372550.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Fri, 23 Mar 2012 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/23/372550.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/372550.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/23/372550.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/372550.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/372550.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 文章来源：http://www.iteye.com/topic/7339711．通过getSession()方法获得session进行操作&nbsp;Java代码&nbsp;&nbsp;public&nbsp;class&nbsp;Test&nbsp;&nbsp;extends&nbsp;HibernateDaoSupport{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/GavinMiao/archive/2012/03/23/372550.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/372550.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-23 15:33 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/23/372550.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring2.0学习笔记</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/22/372484.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Thu, 22 Mar 2012 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/22/372484.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/372484.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/22/372484.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/372484.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/372484.html</trackback:ping><description><![CDATA[一、setter DI：<br />&lt;bean&gt;<br />&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;ref bean="bean的name或id"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;<br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;!--内部bean--&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;bean&gt;&lt;/bean&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;ref local="只能是同一文件的bean的id"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div>&nbsp; &nbsp; &lt;!--idref元素用来引用其它bean的id，spring会验证id是否存在--&gt;<br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;idref bean=""/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;<br /><div>&nbsp; &nbsp; &lt;!--idref元素的local属性用来引用其它bean的id，spring会验证id是否存在，并且验证与引用的bean是否在同一文件--&gt;<br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;idref local=""/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div></div><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;value&gt;&lt;/value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div></div><div>&nbsp; &nbsp; &lt;property&nbsp;name=""&nbsp;ref=""/&gt;<br /><div>&nbsp; &nbsp; &lt;property&nbsp;name=""&nbsp;value=""/&gt;<br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;null/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;props&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;prop key=""&gt;&lt;/prop&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;prop key=""&gt;&lt;/prop&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/props&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;<br /><br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;list&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;value&gt;&lt;/value&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;ref bean=""/&gt; &nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/list&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div><br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;set&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;value&gt;&lt;/value&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;ref bean=""/&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/set&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div><br /><div>&nbsp; &nbsp; &lt;property name=""&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;map&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;entry&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;key&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;value&gt;&lt;/value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/key&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;value&gt;&lt;/value&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/entry&gt;<br /><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;entry key="" value=""/&gt;&lt;!--推荐--&gt;<br /><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;entry key=""&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/entry&gt;<br /><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;entry key-ref="" value-ref=""/&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;entry&gt;</div></div></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;key&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;value&gt;&lt;/value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/key&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;ref bean=""/&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/entry&gt;</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/map&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/property&gt;</div></div></div></div>&lt;/bean&gt;<br />二、contructor DI：<br /><div>&lt;bean&gt;<br />&nbsp; &nbsp; &lt;constructor-arg&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;ref bean=""/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/constructor-arg&gt;<br /><div>&nbsp; &nbsp; &lt;constructor-arg&nbsp;ref="bean的name或id"/&gt;<br /><div>&nbsp; &nbsp; &lt;constructor-arg&nbsp;value=""/&gt;<br /><div>&nbsp; &nbsp; &lt;constructor-arg type="" value=""/&gt;<br /><div>&nbsp; &nbsp; &lt;constructor-arg index="" value=""/&gt;&lt;!--首选--&gt;</div></div></div></div>&lt;/bean&gt;</div><img src ="http://www.blogjava.net/GavinMiao/aggbug/372484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-22 17:52 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/22/372484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring1.1学习笔记</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/21/372386.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Wed, 21 Mar 2012 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/21/372386.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/372386.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/21/372386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/372386.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/372386.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2012/03/21/372386.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/372386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-21 17:34 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/21/372386.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring2.5新特性</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/20/372300.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Tue, 20 Mar 2012 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/20/372300.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/372300.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/20/372300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/372300.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/372300.html</trackback:ping><description><![CDATA[1.spring2.5完全支持java1.6<br />2.完全支持Java EE 5<br />3.spring2.5提供了完整的annotation集合：@Autowired，以及对JSR-250注解@Resource，@PostConstruct，@PreDestroy<br />4.在classpath中自动搜索带有annotation的组件。<br />5.spring2.5加入了对bean（...）pointcut元素的支持，在spring定义的bean命名中对指定的命名进行匹配<br />6.在spring应用中使用AspectJ加载时织入context：load-time-weaver<br />7.增加，通过context：load-time-weaver和tx：annotation-driven mode="aspectj"联合使用的注解驱动的事务管理<br />8.对JPA，升级到支持Open JPA1.0<br />9.2.5显著的扩充了SimpleJdbcTemplate的功能，引入了SimpleJdbcCall和SimpleJdbcInsert操作对象<br />10，web层，增加了基于注解的Controller<br />11.spring2.5引入了基于annotation的MVC编程模型，使用@RequestMapping、@RequestParam、@ModelAttribute等等<br />12.增加对tiles2的支持<br />13.引入了sping TestContext Framework，它提供了注解驱动的单元和集成测试支持<img src ="http://www.blogjava.net/GavinMiao/aggbug/372300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-20 17:57 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/20/372300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring2.0新特性</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/20/372297.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Tue, 20 Mar 2012 09:37:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/20/372297.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/372297.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/20/372297.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/372297.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/372297.html</trackback:ping><description><![CDATA[<div>1.<div style="display: inline-block; "></div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; background-color: #ffffff; ">引入request scope、session scope和可自定义的scope（hooks）<br />2.<div style="display: inline-block; "></div></span><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; background-color: #ffffff; ">引入了XML&nbsp;<div style="display: inline-block; "></div></span><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; background-color: #ffffff; ">Schema的namespace,<div style="display: inline-block; "></div></span><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; background-color: #ffffff; ">简化了配置，包括了对bean属性的各种简化，AOP配置的简化，事务配置的简化，JNDI配置的简化等方面<br />3.spring2.0集成了AspectJ切入点（pointcut）语言和@AspectJ切面（aspect）声明类型<br />4.支持@AspectJ注解定义切面<br />5.提供了JPA的抽象层<br />6.对于JMS，spring2.0提供异步接受消息<br />7.对于jdbc，增加了NamedParameterJdbcTemplate、SimpleJdbcTemplate<br />8.对java1.5的支持，结合AspectJ使用@Transactional、使用AspectJ来为domain object进行依赖注入、@AspectJ、@Required、SimpleJdbcTemplate<br /><br /></span></div><img src ="http://www.blogjava.net/GavinMiao/aggbug/372297.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-20 17:37 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/20/372297.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring2.0整合struts1(转载)</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/16/372014.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Fri, 16 Mar 2012 02:14:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/16/372014.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/372014.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/16/372014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/372014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/372014.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 文章来源：http://hi.baidu.com/liuzhe041/blog/item/e12251dcf2ffe053ccbf1ad2.htmlspring 和struts整合 有3种方式，推荐用第三种。下面一一介绍，不管使用哪种方式，都需要在web.xml 中配置 spring的 监听器Java代码&nbsp;&lt;context-param&gt;&nbsp;&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.blogjava.net/GavinMiao/archive/2012/03/16/372014.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/372014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-16 10:14 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/16/372014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring整合hibernate（annotation方式）</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/15/371914.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Thu, 15 Mar 2012 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/15/371914.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/371914.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/15/371914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/371914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/371914.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2012/03/15/371914.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/371914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-15 11:08 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/15/371914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring整合hibernate</title><link>http://www.blogjava.net/GavinMiao/archive/2012/03/14/371878.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Wed, 14 Mar 2012 09:42:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2012/03/14/371878.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/371878.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2012/03/14/371878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/371878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/371878.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2012/03/14/371878.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/371878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2012-03-14 17:42 <a href="http://www.blogjava.net/GavinMiao/archive/2012/03/14/371878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>异常积累： nested exception is org.hibernate.SessionException: Session is closed解决方案</title><link>http://www.blogjava.net/GavinMiao/archive/2011/10/21/361707.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Fri, 21 Oct 2011 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2011/10/21/361707.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/361707.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2011/10/21/361707.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/361707.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/361707.html</trackback:ping><description><![CDATA[参考文章：<a href="http://blog.csdn.net/xiangsuixinsheng/article/details/6451752">http://blog.csdn.net/xiangsuixinsheng/article/details/6451752<br /></a><span class="Apple-style-span" style="color: #000000; "><font class="Apple-style-span" color="#ff0000" face="Arial" size="2"><span class="Apple-style-span" style="line-height: 26px;"><strong><div style="display: inline !important; "><span><div style="display: inline !important; "><div style="display: inline-block; "><div style="display: inline !important; "><a href="http://blog.csdn.net/xiangsuixinsheng/article/details/6451752">通过getSession()方法获得session进行操作</a>，<div style="display: inline-block; "></div></div></div></div></span></div></strong></span></font></span><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; "><strong><span style="color: red; ">这种方式获得的session在方法执行结束之后不会自动关闭连接</span>,也就是说我们必须通过session.close()或者releaseSession(session)来手动进行关闭,否则会造成内存泄露或者连接耗尽等问题。手动关闭:</strong>&nbsp;<br /><br /></span><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; "><strong>之后，如果对某方法进行事务控制，那么spring框架会自动为我们关闭session，此种情况(</strong>session.close()<strong>)下再执行上述代码，会抛出如下异常:</strong></span><span class="Apple-style-span" style="color: #5c5c5c; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; line-height: 18px; background-color: #f8f8f8; ">org.springframework.orm.hibernate3.HibernateSystemException:<br />&nbsp;Session&nbsp;is&nbsp;closed;&nbsp;nested&nbsp;exception&nbsp;is&nbsp;org.hibernate.SessionException:&nbsp;Session&nbsp;is&nbsp;closed&nbsp;<br /></span><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; "><strong>提示session已经关闭。但是如果在代码中通过releaseSession(session)的方法来关闭session，则不会抛出异常。</strong></span><span class="Apple-style-span" style="color: #5c5c5c; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; line-height: 18px; background-color: #f8f8f8; "><br /></span><font class="Apple-style-span" color="#ff0000" face="Arial" size="2"><span class="Apple-style-span" style="line-height: 26px;"><strong></strong><strong><div><span><div></div></span></div></strong></span></font><img src ="http://www.blogjava.net/GavinMiao/aggbug/361707.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2011-10-21 11:20 <a href="http://www.blogjava.net/GavinMiao/archive/2011/10/21/361707.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring事务--注解--片段</title><link>http://www.blogjava.net/GavinMiao/archive/2011/10/21/361687.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Thu, 20 Oct 2011 17:07:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2011/10/21/361687.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/361687.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2011/10/21/361687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/361687.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/361687.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2011/10/21/361687.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/361687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2011-10-21 01:07 <a href="http://www.blogjava.net/GavinMiao/archive/2011/10/21/361687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring2.5reference笔记</title><link>http://www.blogjava.net/GavinMiao/archive/2011/08/31/357634.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Wed, 31 Aug 2011 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2011/08/31/357634.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/357634.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2011/08/31/357634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/357634.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/357634.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2011/08/31/357634.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/357634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2011-08-31 13:26 <a href="http://www.blogjava.net/GavinMiao/archive/2011/08/31/357634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring注解</title><link>http://www.blogjava.net/GavinMiao/archive/2011/08/30/357569.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Tue, 30 Aug 2011 06:44:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2011/08/30/357569.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/357569.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2011/08/30/357569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/357569.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/357569.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2011/08/30/357569.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/357569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2011-08-30 14:44 <a href="http://www.blogjava.net/GavinMiao/archive/2011/08/30/357569.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring面试题</title><link>http://www.blogjava.net/GavinMiao/archive/2011/08/29/357463.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Sun, 28 Aug 2011 16:38:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2011/08/29/357463.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/357463.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2011/08/29/357463.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/357463.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/357463.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/GavinMiao/archive/2011/08/29/357463.html'>阅读全文</a><img src ="http://www.blogjava.net/GavinMiao/aggbug/357463.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2011-08-29 00:38 <a href="http://www.blogjava.net/GavinMiao/archive/2011/08/29/357463.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring的singleton和prototype</title><link>http://www.blogjava.net/GavinMiao/archive/2011/08/10/356257.html</link><dc:creator>GavinMiao</dc:creator><author>GavinMiao</author><pubDate>Wed, 10 Aug 2011 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/GavinMiao/archive/2011/08/10/356257.html</guid><wfw:comment>http://www.blogjava.net/GavinMiao/comments/356257.html</wfw:comment><comments>http://www.blogjava.net/GavinMiao/archive/2011/08/10/356257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GavinMiao/comments/commentRss/356257.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GavinMiao/services/trackbacks/356257.html</trackback:ping><description><![CDATA[这两天面试有人问了问题，singleton和prototype的区别？<br />就这问题参考网上资料，总结一下，以备日后用。<br /><br /><div><span style="color: #2e2e2e; font-family: 宋体; font-size: 15px; line-height: 24px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span style="margin-right: 25px; "><strong>原文地址：<span class="Apple-style-span" style="font-weight: normal; "><strong><div style="display: inline !important; "><a href="http://blog.sina.com.cn/s/blog_6151984a0100kfij.html">http://blog.sina.com.cn/s/blog_6151984a0100kfij.html</a>&nbsp;&nbsp;</div></strong></span><span class="Apple-style-span" style="font-weight: normal; "><strong>作者：</strong><a rel="nofollow" target="_blank" href="http://blog.sina.com.cn/u/1632737354" title="macg" style="font-size: 15px; line-height: 24px; color: #052f67; ">macg</a></span></strong></span></span></div><a href="http://blog.sina.com.cn/s/blog_6151984a0100kfij.html"><br /></a><div><span style="color: #464646; font-family: simsun; "><ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">singleton---单例模式<br /><br /><br /></li></ul>单例模式,在spring 中其实是scope(作用范围)参数的缺省设定值<br /><span style="word-wrap: normal; word-break: normal; line-height: 21px; font-weight: bold; ">每个bean定义只生成一个对象实例,每次getBean请求获得的都是此实例</span><br /><br /><ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">单例模式分为饿汉模式和懒汉模式</li></ul><table border="1" cellpadding="3" cellspacing="1" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; width: 688px; "><tbody><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">饿汉模式<br /></td><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">spring singleton的缺省是饿汉模式:启动容器时(即实例化容器时),为所有spring配置文件中定义的bean都生成一个实例<br /></td></tr><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">懒汉模式<br /></td><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">在第一个请求时才生成一个实例,以后的请求都调用这个实例<br />spring singleton设置为懒汉模式:<br /><br />&lt;beans<br />default-lazy-init="true"&gt;<br /></td></tr></tbody></table><br /><br /><ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">另一种和singleton对应的scope值---prototype多实例模式</li></ul>调用getBean时,就new一个新实例<br /><br /><ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">singleton和prototype的比较</li></ul>singleton<br /><table border="1" cellpadding="3" cellspacing="1" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; width: 688px; "><tbody><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">xml配置文件:<br />&lt;bean id="dvdTypeDAO" class="com.machome.hibernate.impl.DvdTypeDAOImpl" /&gt; &nbsp;<wbr><wbr>&nbsp;<wbr><wbr><br /></td></tr><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">测试代码:<br />&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>ctx = new ClassPathXmlApplicationC<wbr><wbr>ontext("spring-hibernate-mysql.xml");<br />&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>DvdTypeDAO tDao1 = (DvdTypeDAO)ctx.getBean("dvdTypeDAO");<br />&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>DvdTypeDAO tDao2 = (DvdTypeDAO)ctx.getBean("dvdTypeDAO");<br /></td></tr><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; vertical-align: top; ">运行:&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;&nbsp;<wbr><wbr><br />true<br />com.machome.hibernate.impl.DvdTypeDAOImpl@15b0333<br />com.machome.hibernate.impl.DvdTypeDAOImpl@15b0333<br /><br />说明前后两次getBean()获得的是同一实例,<span style="word-wrap: normal; word-break: normal; line-height: 18px; font-weight: bold; ">说明spring缺省是单例</span></td></tr></tbody></table><br />prototype<br /><table border="1" cellpadding="3" cellspacing="1" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; width: 688px; "><tbody><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">&lt;bean id="dvdTypeDAO" class="com.machome.hibernate.impl.DvdTypeDAOImpl"&nbsp;<span style="word-wrap: normal; word-break: normal; line-height: 18px; font-weight: bold; ">scope="prototype"</span>&nbsp;/&gt;<br />&nbsp;<wbr><wbr><br /></td></tr><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">执行同样的测试代码<br /></td></tr><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; ">运行:<br />false<br />com.machome.hibernate.impl.DvdTypeDAOImpl@afae4a<br />com.machome.hibernate.impl.DvdTypeDAOImpl@1db9852<br />说明scope="prototype"后,每次getBean()的都是不同的新实例<br /><br /></td></tr></tbody></table></span></div><br /><br /><br /><img src ="http://www.blogjava.net/GavinMiao/aggbug/356257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GavinMiao/" target="_blank">GavinMiao</a> 2011-08-10 17:31 <a href="http://www.blogjava.net/GavinMiao/archive/2011/08/10/356257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>