﻿<?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-kang5528-文章分类-spring</title><link>http://www.blogjava.net/kangbaole/category/49533.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 08 Sep 2011 12:03:39 GMT</lastBuildDate><pubDate>Thu, 08 Sep 2011 12:03:39 GMT</pubDate><ttl>60</ttl><item><title>Spring AOP</title><link>http://www.blogjava.net/kangbaole/articles/358153.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Wed, 07 Sep 2011 01:16:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/358153.html</guid><wfw:comment>http://www.blogjava.net/kangbaole/comments/358153.html</wfw:comment><comments>http://www.blogjava.net/kangbaole/articles/358153.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangbaole/comments/commentRss/358153.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangbaole/services/trackbacks/358153.html</trackback:ping><description><![CDATA[<div>Spring AOP<br /></div><img src ="http://www.blogjava.net/kangbaole/aggbug/358153.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-09-07 09:16 <a href="http://www.blogjava.net/kangbaole/articles/358153.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring IOC</title><link>http://www.blogjava.net/kangbaole/articles/357969.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Mon, 05 Sep 2011 01:08:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/357969.html</guid><wfw:comment>http://www.blogjava.net/kangbaole/comments/357969.html</wfw:comment><comments>http://www.blogjava.net/kangbaole/articles/357969.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangbaole/comments/commentRss/357969.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangbaole/services/trackbacks/357969.html</trackback:ping><description><![CDATA[<div>IOC：控制反转<br />DI：依赖注入<br /><br />IOC容器实例化的方式（启动Spring）<br />1、BeanFactory<br />2、ApplicationContext<br /><br /><br />
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">实例化</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">构造器</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">静态工厂方法</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">3）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">实例工厂</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">依赖注入</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">1）</span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">setter<font face="宋体">注入</font></span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">构造器注入</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">3）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">集合</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">4）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">接口</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 'Courier New';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&lt;</span><span style="font-family: 'Courier New';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)">property</span><span style="font-family: '宋体';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)">&gt;</span><span style="font-family: '宋体';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&nbsp;&nbsp;</span><span style="font-family: '宋体';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 'Courier New';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&lt;</span><span style="font-family: 'Courier New';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)">constructor-arg</span><span style="font-family: 'Courier New';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&gt;</span><span style="font-family: '宋体';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">3、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">的作用域</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">5<font face="宋体">种：</font><font face="Calibri">singleton</font><font face="宋体">、</font><font face="Calibri">prototype</font><font face="宋体">、</font><font face="Calibri">request</font><font face="宋体">、</font><font face="Calibri">session</font><font face="宋体">、application</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">singleton&nbsp;<font face="宋体">默认类型，单例，</font><font face="Calibri">IOC</font><font face="宋体">容器初始化时，实例化</font><font face="Calibri">Bean</font><font face="宋体">，整个容器共享一个</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">prototype<font face="宋体">：每次访问</font><font face="Calibri">Bean</font><font face="宋体">都生成一个新的实例</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">4、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">的生命周期</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">singleton<font face="宋体">类型的</font><font face="Calibri">Bean</font><font face="宋体">整个生命周期由</font><font face="Calibri">IOC</font><font face="宋体">容器管理；</font><font face="Calibri">prototype</font><font face="宋体">类型的</font><font face="Calibri">Bean</font><font face="宋体">由</font><font face="Calibri">IOC</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"> </span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">容器实例化后，不再托管，由应用程序负责。</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">的&#8220;</font><font face="Calibri">init-method</font><font face="宋体">&#8221;指定的方法，在</font><font face="Calibri">Bean</font><font face="宋体">实例化时执行</font><font face="Calibri">(</font><font face="宋体">初始化</font><font face="Calibri">);</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; margin-left: 42pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&#8220;<font face="Calibri">destory-method</font><font face="宋体">&#8221;指定的方法，在</font><font face="Calibri">Bean</font><font face="宋体">销毁时调用。</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：<font face="Calibri">prototype</font><font face="宋体">类型的</font><font face="Calibri">Bean</font><font face="宋体">不会执行&#8220;</font><font face="Calibri">destory-method</font><font face="宋体">&#8221;方法。</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">5、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">自动装配</font><font face="Calibri">autowire</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;作用：</span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">可以不需要显示指定依赖注入</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">，由<font face="Calibri">IOC</font><font face="宋体">容器自动扫描</font><font face="Calibri">Bean</font><font face="宋体">定义注入</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;装配策略：<font face="Calibri">defualt(no)</font><font face="宋体">、</font><font face="Calibri">byName</font><font face="宋体">、</font><font face="Calibri">byType</font><font face="宋体">、</font><font face="Calibri">constructor</font><font face="宋体">、</font><font face="Calibri">autodetect</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;默认不使用自动装配<font face="Calibri">autowrie="defualt"&nbsp;<br /></font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;1)byName&nbsp;<font face="宋体">按</font><font face="Calibri">Bean</font><font face="宋体">的名称</font><font face="Calibri">(</font><font face="宋体">唯一</font><font face="Calibri">)</font><font face="宋体">注入；</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;2)byType&nbsp;&nbsp;<font face="宋体">按</font><font face="Calibri">Bean</font><font face="宋体">类型注入，</font></span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">不允许有多个同类型的<font face="Calibri">Bean</font><font face="宋体">定义；</font></span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'"><o:p></o:p></span></p><!--EndFragment--></div><img src ="http://www.blogjava.net/kangbaole/aggbug/357969.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-09-05 09:08 <a href="http://www.blogjava.net/kangbaole/articles/357969.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>