<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>wolfsquare</title>
    <description>喜欢星星吗？是否一样喜欢星星背后那
       ---------冰冷,永恒的寂静黑暗?</description>
    <link>http://wolfsquare.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>咖啡去世了</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/135824" style="color:red;">http://wolfsquare.javaeye.com/blog/135824</a>&nbsp;
          发表时间: 2007年10月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>还爱着咖啡啊，象曾经爱着那个伤透了我的心的女孩一样爱，</p>
<p>虽然最后一次去看它，变的不再认识我了，可是我还是爱着它的，</p>
<p>虽然我决绝的转身而去，可是我还是爱着它的，</p>
<p>心理想着找一个稳定的家再接回咖啡，还是爱着它的，</p>
<p>孤独的夏天，和小咖啡一起相伴，那是我对她爱的象征，没了，再也不能见到了，这样的结局怎么让人接受，还要再一起的，怎么能这样。。。</p>
<p>从转身那刻起，就把不认得我的它如那绝情的女孩一样看待了，我不爱</p>
<p>一年多了，我依然没找一个可以安顿它的合适地方，我不爱</p>
<p>一年多了，我没有去看过它一次，我不爱</p>
<p>梦见自己掉了牙齿，却没想到是咖啡，我不爱</p>
<p>我不配爱咖啡，可是我的泪在流呀，可是。。已经没有可是了，再多的可能，也不能见到咖啡了</p>
<p>我也不知道自己怎么了，一个大男人为一只猫哭，真是太不象话了。。。</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/135824#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 26 Oct 2007 22:53:00 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/135824</link>
        <guid>http://wolfsquare.javaeye.com/blog/135824</guid>
      </item>
      <item>
        <title>检测时间的正则表达式 大杂烩 </title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/38697" style="color:red;">http://wolfsquare.javaeye.com/blog/38697</a>&nbsp;
          发表时间: 2006年12月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>检测时间 ([0-1]?[0-9]|2[0-3]):([0-5][0-9]) </p>
<p>&nbsp;以下是备忘:</p>
<p>1.检查日期:<br />
(1[0-2]|0?[1-9])[-./](0?[1-9]|[12][0-9]|3[01])[-./](dddd))<br />
2.检查数字:<br />
([-+]?[0-9]+.?[0-9]+)<br />
3.检查URL:<br />
((http|ftp)://)?(((([d]+.)+){3}[d]+(/[w./]+)?)|([a-z]w*((.w+)+){2,})([/][w.~]*)*)<br />
4.检查E-mail<br />
<a href="mailto:w+@((w">w+@((w</a>+[.]?)+)</p>
<p>严格的日期验证包括格式和逻辑上的合法性！<br />
^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((01,3-9])|(1[0-2]))-(29|30)))))$</p>
补充： <br />
^\d+$　　//匹配非负整数（正整数 + 0） <br />
^[0-9]*[1-9][0-9]*$　　//匹配正整数 <br />
^((-\d+)|(0+))$　　//匹配非正整数（负整数 + 0） <br />
^-[0-9]*[1-9][0-9]*$　　//匹配负整数 <br />
^-?\d+$　　　　//匹配整数 <br />
^\d+(\.\d+)?$　　//匹配非负浮点数（正浮点数 + 0） <br />
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$　　//匹配正浮点数 <br />
^((-\d+(\.\d+)?)|(0+(\.0+)?))$　　//匹配非正浮点数（负浮点数 + 0） <br />
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$　　//匹配负浮点数 <br />
^(-?\d+)(\.\d+)?$　　//匹配浮点数 <br />
^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串 <br />
^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串 <br />
^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串 <br />
^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串 <br />
^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串 <br />
^[\w-]+(\.[\w?琼?渦獢p?????浜睹扥潜桴牥摜極慢?瑨m?-]+)*@[\w-]+(\.[\w-]+)+$　　　　//匹配email地址 <br />
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$　　//匹配url
<p>
<table cellspacing="1" border="0" bgcolor="#333333" width="760" cellpadding="5">
    <tbody>
        <tr>
            <td><strong><font color="#ffffff">正则表达式大全</font></strong></td>
        </tr>
        <tr>
            <td bgcolor="#f5f5f5">
            <p>关键字：正则表达式 &nbsp;模式匹配 Javascript</p>
            <p>摘要：收集一些常用的正则表达式。</p>
            <p>正则表达式用于字符串处理，表单验证等场合，实用高效，但用到时总是不太把握，以致往往要上网查一番。我将一些常用的表达式收藏在这里，作备忘之用。本贴随时会更新。</p>
            <p><font color="#800080">匹配中文字符的正则表达式： [\u4e00-\u9fa5]</font></p>
            <p><font color="#000080">匹配双字节字符(包括汉字在内)：[^\x00-\xff]</font></p>
            <p><font color="#000080">应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）</font></p>
            <p><font color="#000080">String.prototype.len=function(){return this.replace([^\x00-\xff]/g,&quot;aa&quot;).length;}</font></p>
            <p><font color="#800080">匹配空行的正则表达式：\n[\s| ]*\r</font></p>
            <p><font color="#000080">匹配HTML标记的正则表达式：/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*) \/&gt;/</font><font color="#000000"> </font></p>
            <font color="#000080">
            <p><font color="#800080">匹配首尾空格的正则表达式：(^\s*)|(\s*$)</font></p>
            <p><font color="#800080">应用：javascript中没有像vbscript那样的trim函数，我们就可以利用这个表达式来实现，如下：</font></p>
            <p><font color="#800080">String.prototype.trim = function()<br />
            {<br />
            &nbsp;&nbsp;&nbsp; return this.replace(/(^\s*)|(\s*$)/g, &quot;&quot;);<br />
            }</font></p>
            <p><font color="#000080">利用正则表达式分解和转换IP地址：</font></p>
            <p><font color="#000080">下面是利用正则表达式匹配IP地址，并将IP地址转换成对应数值的Javascript程序：</font></p>
            <p><font color="#000080">function IP2V(ip)<br />
            {<br />
            &nbsp;re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g&nbsp; //匹配IP地址的正则表达式<br />
            if(re.test(ip))<br />
            {<br />
            return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1<br />
            }<br />
            else<br />
            {<br />
            &nbsp;throw new Error(&quot;Not a valid IP address!&quot;)<br />
            }<br />
            }</font></p>
            <p><font color="#000080">不过上面的程序如果不用正则表达式，而直接用split函数来分解可能更简单，程序如下：</font></p>
            <p><font color="#000080">var ip=&quot;10.100.20.168&quot;<br />
            ip=ip.split(&quot;.&quot;)<br />
            alert(&quot;IP值是：&quot;+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))</font></p>
            <p><font color="#800080">匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*</font></p>
            <p><font color="#000080">匹配网址URL的正则表达式：http://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?</font></p>
            <p><font color="#800080"><strike>利用正则表达式去除字串中重复的字符的算法程序</strike>：[注：此程序不正确，原因见本贴回复]</font></p>
            <p><font color="#800080">var s=&quot;abacabefgeeii&quot;<br />
            var s1=s.replace(/(.).*\1/g,&quot;$1&quot;)<br />
            var re=new RegExp(&quot;[&quot;+s1+&quot;]&quot;,&quot;g&quot;?琼?渦獢p?????浜睹扥潜桴牥摜極慢?瑨m?)<br />
            var s2=s.replace(re,&quot;&quot;) <br />
            alert(s1+s2)&nbsp; //结果为：abcefgi<br />
            </font><font color="#800080"><br />
            我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法，最终没有找到，这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符，再以重复的字符建立第二个表达式，取到不重复的字符，两者串连。这个方法对于字符顺序有要求的字符串可能不适用。</font></p>
            <p><font color="#000080">得用正则表达式从URL地址中提取文件名的javascript程序，如下结果为page1</font></p>
            <p><font color="#800080"><font color="#000080">s=&quot;http://www.9499.net/page1.htm&quot;<br />
            s=s.replace(/(.*\/){0,}([^\.]+).*/ig,&quot;$2&quot;)<br />
            alert(s)</font></font></p>
            <p><font color="#800080">利用正则表达式限制网页表单里的文本框输入内容：</font></p>
            <p><font color="#800080">用正则表达式限制只能输入中文：onkeyup=&quot;value=value.replace(/[^\u4E00-\u9FA5]/g,'')&quot; onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))&quot;</font></p>
            <p><font color="#800080">用正则表达式限制只能输入全角字符：</font><font color="#800080">&nbsp;onkeyup=&quot;value=value.replace(/[^\uFF00-\uFFFF]/g,'')&quot; onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))&quot;</font></p>
            <p><font color="#800080">用正则表达式限制只能输入数字：onkeyup=&quot;value=value.replace(/[^\d]/g,'') &quot;onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))&quot;</font></p>
            <p><font color="#800080">用正则表达式限制只能输入数字和英文：onkeyup=&quot;value=value.replace(/[\W]/g,'') &quot;onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))&quot;</font></p>
            <p><font color="#800080">匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*</font></p>
            <p><font color="#000080">匹配网址URL的正则表达式：http://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?</font></p>
            <font color="#800080">
            <p><font color="#800080">匹配空行的正则表达式：\n[\s| ]*\r</font></p>
            <p><font color="#000080">匹配HTML标记的正则表达式：/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*) \/&gt;/</font><font color="#000000"> </font></p>
            <font color="#000080">
            <p><font color="#800080">匹配首尾空格的正则表达式：(^\s*)|(\s*$)</font></p>
            <p><font color="#800080">匹配中文字符的正则表达式： [\u4e00-\u9fa5]</font></p>
            <p><font color="#000080">匹配双字节字符(包括汉字在内)：[^\x00-\xff]</font></p>
            </font></font>
            <p><font color="#800080"></font>&nbsp;</p>
            </font></td>
        </tr>
    </tbody>
</table>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/38697#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 12 Dec 2006 15:16:10 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/38697</link>
        <guid>http://wolfsquare.javaeye.com/blog/38697</guid>
      </item>
      <item>
        <title>你是最可爱的精灵-猫圈广告</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/35172" style="color:red;">http://wolfsquare.javaeye.com/blog/35172</a>&nbsp;
          发表时间: 2006年11月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="quote_title">引用</div><div class="quote_div">它们是落入凡间的精灵,给我们带了来种种欢乐。虽然宠物对于我们来说不是生活的全部,但是对于它们来说却是所有的一切。所以,请用一生的爱去照顾它们吧。</div><br />不仅限于猫猫,狗狗,一切生物,不管是火星人,还是天顶星人,请来这里分享你们相处的喜怒哀乐吧<br />.
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/35172#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 20 Nov 2006 11:37:50 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/35172</link>
        <guid>http://wolfsquare.javaeye.com/blog/35172</guid>
      </item>
      <item>
        <title>《铳梦》</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/33428" style="color:red;">http://wolfsquare.javaeye.com/blog/33428</a>&nbsp;
          发表时间: 2006年11月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有一天，医生依德在废料堆中找到了一个少女的半机械残骸并修好了她取名叫做凯丽,故事就从此开始了...<br />    这是一个叫做废铁镇的地方,被它的天空上的城市--沙雷姆的阴影笼罩着，任何物体都不能在沙雷姆附近飞行，甚至连接近的小鸟也会被击落，整个废铁镇就这样被沙雷姆制定的严酷法律“工厂法”统治着，凡影响废铁镇作为的补给制造运输站功能和沙雷姆安全的一律重罪并处以极刑。镇上的空气中弥漫着阴暗，麻木，暴力，颓废和恐怖的气息，人们在阴影下为生活苦苦挣扎着，与此相反的，沙雷姆是一个完美无缺的城市，它和它上面的居民高高在上，以超越废铁镇几个时代的科学技术统治着下界，从废铁镇接收着源源不断的物资。<br /><br />   合成人，废铁镇，沙雷姆，在这个影射着现实的世界里作者以凯丽的经历串起几个看似没有很大关联的故事。几个故事里主要人物性格鲜明，不断地推起一个又一个的高潮：<br /><br />   被铁士代诺博士改造为寄生虫和人类的混合体，马卡克肆意地吸食人脑，以带给别人更多的恐怖来压抑自己的自卑和无奈，最后被凯丽以狂战士躯体的强大力量烧成灰烬。<br /><br />   在沙雷姆为了控制废铁镇人口而设立的“死亡球”竞赛中，而杰秀皇的出现让凯莉了解了强大的定义，作为最强的对手，她一直没有忘记他那高大的身躯。而他却以自己的方式来表达对沙雷姆的抗争，尽可能的表现自己的能力，让人们知道，没有人比他更强。然而最后确因为铁士代诺博士的脑改造手术的后遗症而死去。<br /><br />   沙勇因为怨念与凯丽结下了仇，屡战屡败的他快要忘记这些痛苦记忆时却又偶然勾起了回忆，身为合成人失手打掉了爱人的头颅...伴随着他的是一个又一个的悲剧,后来直到只剩一个大脑,被铁士代诺博士拿来做"业"的研究试验。在代诺实验室启动狂战士身体导致的混乱中，有着强大怨念的沙勇大脑和狂战士身体融合在了一起，狂战士的威力得以全力发挥。当凯丽以仅余一头一手的代价用博士给的药剂破坏了狂战士身体，沙勇也随之烟消。<br /><br />   身为先天缺陷全身无力的杰卧士是铁士代诺博士的儿子，被父亲偶然发现第二人格的存在，于是也变成了试验品，被引出成为暴虐的电，领导了一只对抗沙雷姆的部队。试图以列车巨炮打断支撑沙雷姆的天空柱子让其跌落下来，然而当列车发处正中柱子炮弹时，却发现象蚂蚁撼树。失败的电最后还是终于和杰卧士重新合为一体。<br /><br />    依德在得知沙雷姆人的真相后，无法面对自己只是一块晶片而已的现实，而选择了放弃以前的所有一切记忆。“对不起！凯莉！希望你能找到幸福！再见……”依德的遗言如是说，以前的依德，已经死掉了。<br /><br />    铁士代诺博士，这一切灾难的制造者。从知道了沙雷姆人的真相起就无情地玩弄人类的生命与尊严，尽情地侵犯着神的领域，也许能看出他也有如依德般的绝望，不过他把绝望转为了研究的动力，他究竟是个疯子还是一个天才，亦或两者兼而有之？在自己制造的梦境中，对凯莉尾尾道出自己的心：“在这个世界，悲剧和死亡都不存在，如果能打心底相信喜悦的话，我一定会祈祷……让此时此刻永远地持续……” <br /><br />    从这些主要情节中，可以看到一个世界观的冲突，有脑的和有肉体的哪一个算是真正的人？地面人拥有大脑和机械的身体，说他们是机械人并不确切，只能算是半机械生化人。而沙雷姆人却比较特殊，拥有肉体可脑中只有一片像CPU的芯片，为了成为更完美的人，到了规定的年龄就要去除脑部，安装上这种机械脑。 这也正是依德和其它沙雷姆人不能面对的现实。怎么才算人？ 又或者说人根本就不存在一个精确的定义？<br /><br /> 　　沙雷姆人给人感觉更像是被操纵的傀儡，一切都是那样苍白无力。那些被选上"授勋仪式"上的优秀者有一段这样的道白：“请……请问……什么是‘人的尊严’、‘自由’呢？并没有人教过我们维持沙雷姆社会需要那种东西。我们好不容易取得了成为正式市民的资格，你们这样做负的起这个责任吗？我们才不要什么脑，还给我们将来啊！”<br /><br />     在作者笔下，通篇的肢体横飞，大脑四溅的场景，随意丢弃的生命，强烈刺激着大脑，不断的盘旋着一个疑问”是人吗，怎样才是人呢？“
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/33428#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 09 Nov 2006 19:07:01 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/33428</link>
        <guid>http://wolfsquare.javaeye.com/blog/33428</guid>
      </item>
      <item>
        <title>看什么</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/33079" style="color:red;">http://wolfsquare.javaeye.com/blog/33079</a>&nbsp;
          发表时间: 2006年11月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          赫赫,一幅图的Blog
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/33079#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 07 Nov 2006 17:59:51 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/33079</link>
        <guid>http://wolfsquare.javaeye.com/blog/33079</guid>
      </item>
      <item>
        <title>老拳师的故事</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/27620" style="color:red;">http://wolfsquare.javaeye.com/blog/27620</a>&nbsp;
          发表时间: 2006年10月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          老拳师的故事（一）<br />李雅轩拳传忠义，刘仲桥慧眼识人<br /><br />李雅轩是四川杨式太极的开拓者。 他给我辈留下的不仅是武艺， 还有生活的智慧。李师武艺高强没得说，他的一些生活故事也是很高明得紧，值得我辈细细品味， 好好学习。<br /><br />李师穷苦人出身。 年青时先练得一身少林功夫， 曾独斗众地痞， 名震地方。 后因傅海田引荐投在杨澄浦名下，学内家功夫。 李师变卖家产在杨家学艺， 一学就是十四年，直到杨南下到中央国术馆教拳。 李师紧跟杨在国术馆为杨做助手。 旧时， 武艺不象现在靠嘴吹， 靠比段位，比资格， 须当场见红，分高低。 当年的国术馆有个说法叫“打赢的当老师，打输的当学生”。杨澄浦位为教务长， 月薪三四百大洋，多少人想以打赢杨为立身之阶。杨是宗师身份， 不能来个破铜烂铁就下场比武。 动手出汗的事就都由徒弟李雅轩来干。如果连李都打不过，功夫就有限，杨澄浦便不用担心。李为杨师挡架， 会天下英雄，居然从未失手。 杨的日子想来该很好过。李师那时也混成了成名人物， 交游颇广阔，但杨在一日， 就甘愿为杨当助教，是个感恩之人。李师当上首都南京太极拳社的社长是后来的事。杨澄浦南下广东后， 国术馆便全由李师顶着。一代宗师不幸于广东病故， 扶棺北归的也是李师。<br /><br />李雅轩对杨澄浦是进到了徒弟的礼数的， 堪称忠义。 李雅轩对徒弟的要求也是忠义。李认人非常厉害， 人非忠孝不传。 和杨澄浦的众徒弟比起来，李一生无惊无险，衣食不愁，一方面是李确有真功夫， 更因为李懂得如何防小人。相比之下， 李的师兄弟田兆龄等人就太单纯了， 到处表演， 到处交拳， 对党倾囊相授，最后被一脚踢开。 田最后在上海被整得困顿酗酒<br />而死, 而李则到死都还算富足。李所以能如此全靠他的几个好徒弟。李功夫好但很低调，只在圈子里流传，从不公开表演。 田在上海被体委的人整， 和田的名气太大有关。 体委的人有几个肯下工夫练的，田到处表演真打真斗，简直就是拆体委的台。党从来最怕的就是群众知道真相。<br /><br />李雅轩知道太极拳是高档玩意，故决不圈子外的平民百姓多打交道的。李一生很低调，不以虚名为意。 李当年在民国中央军校教拳， 学生都是卫立煌，黄维，黄泊涛这样的党国大员。 李的徒弟们也都是些有钱人， 早期的刘仲桥， 周子能，后来的何其松，栗子易，无一是一等一的大资本家。解放后， 李虽然也在公园教些群众， 也只是比比架子敷衍而已， 后来就是架子李也是让徒弟代劳。众看官也许会说李自私， 但想想田的遭遇， 如果是你， 你有会如何选择呢！李师不交“穷人”也是有道理的。 所谓“穷文富武”， 太极是极耗身体的运动， 营养不足，休息不够， 根本就是慢性自杀。和外家拳不同， 内家练的是松， 空灵。设想早上教推手，用意不用力， 中午就去拉车上坡，简直就是白费大师的时间。 而且，穷人家不努力挣钱养家， 去专营太极拳，必有非常之志。 教这种人， 后果恐不是白费功夫那么简单了。有人在李师跟前周旋三十年。滴水石都穿了，李师就是一点都不开口。当年，很多人不理解， 现在回想起来才感谢李师。 他没有真功夫都这样，要是有了，天天打上门来， 我等哪有无活路。到时，这太极恐怕就不姓杨要姓林了。<br /><br />李师金口难开。 不过， 动手比斗李师是决不含糊的。平时，同好交流，任何人只要有怀疑， 李放下筷子马上就干，定要在众人面前比个高下。 不仅要打赢， 还要潇洒轻松地打赢。看李师回忆录：哪年哪月， 在哪里，和谁谁谁比， 他怎么打， 我怎么借力打力打， 他被打成怎么样，谁当场看见可做见证，一一记得清楚明白。末了还加个注解，我是如何按太极的道理做对了， 他是如何做错了。生怕后人只顾看了热闹， 不看门道。<br /><br />李师爱动手，和李师推手基本就是打架。这真的很高明！就象那个著名的关于小偷和警察的笑话讲的一样：靠武术吃饭的人，要是不动手，大家都来枪，那还有你的份。 现在那么多靠气功蒙事的，要在旧时，早就有人找上门了摸两手了。当年霍元甲到上海，大初一门口就被人放上两巨石堵了。 霍要是用脚弹不飞， 就得马上走人。太极拳是武术，从来都是要动手的。是体委那帮人想在里面捞，搞坏了规矩。太极拳要发展，首先就得把这个优胜劣汰的机制找回来。八十年代初，刚开始和国外交流时， 四川体委的人还搞不懂，就让何其松，栗子易他们去了趟法国。那个年代出国，国家还要给做衣服。在国外垃圾桶里拣个录音机回来送礼，就能安排一个好工作。此等机会能给民间的家伙，全因体委怕。如果当时何栗等人象李师一样来真的，放翻两个外国大汉，立个功夫手上过的规矩，体委哪里敢插手。既然摆个架子都能糊弄过去，如此油水哪能便宜到你等民间师傅。果然只此一次，后来再没麻烦过民间人士。其实，国外是有高手的， 比如郑曼清门下有个美国人，中文名叫大龙， 曾打遍全国，最后栽在我师傅手里。据大龙说，他是跟他哥哥学的。他哥哥是郑的入室徒弟， 更厉害。 前些年， 搞段位，体委冒出七八个八段高手。这些人就是看太极软软的推没有危险，进来蒙事的，就象省长当院士一样，只赚不赔。你何曾见过体委的处长争当散打高段，对付泰拳的！这些人哪天遇到大龙的哥哥， 还不得给打得口鼻流血啊！太极不动手，迟早要害死人啊！<br /><br />李雅轩是个标准的武人文相，不见威武，只见谦和。我师傅回忆李师的气质比毛主席还好。平时李师是决不恼脸，决不在人前显弄的。有一次， 某人席间偷袭李师， 借给李师看手相， 三个指头一夹把李师的中指扳断了。 李师对此一言不发， 终席不置一辞，仿佛无事一般。最后， 那人怕了， 登门道歉，定要用什么祖传秘方为李师治疗， 被李师婉言拒绝。李师这样做我想不仅仅是胸怀，也是不想让他见“庐山真面目”。有些人练了些硬功就以为天下无敌， 真打斗起来，才知自己手慢脚软。 内家拳的庄严， 劲透如扎纸般的纯钢，能亲身挨打见识下也是个机缘。太极何等高档的东西，这样的小人，挨打都不配的！<br /><br />有个故事， 可以解释老一辈的这种态度。 成都体院有个王姓老教授， 是当年国术馆出来的人， 见过杨澄浦的， 名列国宝级八大知名高手之一。 王的大弟子许胖和我师傅是朋友。一回喝茶，许胖讲，某日本人给王教授和其他七个知名人士写了封信， 问中国武术究竟有没有用。 言语间又是诚恳，又是挑拨， 唱了无数个日本式的肥诺， 把王教授抬了又抬， 把别人扁了又扁（想来，在给其他人信中也一样地扁王），希望王能给他个回答。王把信给许胖看，许胖问， “那你给不给他回信呢？” 王怒道：“回什么回， 把他教聪明了！” <br /><br />许胖是个形意高手， 甚肥健，开个饭馆过活，是个武痴。 一次在文殊院喝茶，和我师谈拳谈的高兴，在椅上打半步蹦拳，把个新竹椅震塌。四川茶馆的竹椅很结实的， 小二明知有怪， 也不好说什么。 许胖知道我师是难得知音，所以才放开来品论天下英雄，他在自己师兄弟面前从不多讲谁一句，从来都是“好，好，好”。一来，免得坏了兄弟情面， 二来，不想把他教聪明了。<br /><br />有真功夫的不愿讲，没真功夫的到处讲。半生得来的真东西， 一句话就出去了， 划不来。假的就无所谓了， 要多少有多少。田兆龄名满上海，被小人暗害， 李雅轩偏居四川，一生富足。曹操曰：“不可幕虚名而处实祸”， 信乎！<br /><br />不过，有真本事也不能就在乡下埋没了。 李师一生也有困顿时， 命运的改变全靠了一次比武表演。 当时， 李雅轩因在中央军校恶了黄太尉，在重庆待不住了，只身来成都闯荡。李一个外地人，口音重， 举目无亲， 身边银两将尽，住鸡毛小店， 身上生虱，举步维艰。正好在少城公园，有个比武大会。 当年， 四川武风颇胜，不输山东河北。每年除了春天在青羊宫“打金章”外， 一年四季都有比武大会。届时，必定人山人海，士绅云集。 李师游荡到此，便借了把刀，钻进圈中，抽空练了趟太极刀。 被台上一位大资本家刘仲桥看到。 刘是山东人， 因抗战避乱到四川，开纺织厂，酷爱武术，也有功夫底子。 刘是个识货之人， 马上叫跟班去找这位师傅。请师傅到茶馆喝茶， 等散会后好谈话。 刘一见李师便口称高手， 互通姓名， 问到李师师承，知是真人。 立刻就自己叫了一辆黄包车，让李师坐自己的车， 一同来到李师下处取行李。 先把李师安排到三瓦窑厂里办公室暂时住下。 封上四百个大洋的见面礼， 外加一百个大洋置办衣帽。等李师住上几天收拾稳妥后，才正式把李师请到公馆拜师学艺。<br />刘如此安排是要给李师蓬面子， 免得家中的奴才见李师寒酸， 坏了礼节。这些用心， 李师是明白的。 刘虽名为徒弟， 实为恩人，礼数又周到。 无怪李师对他知无不言， 言无不尽。 后来，刘回了山东， 李师还频频在信中对他讲太极真义。<br /><br />李师后来的徒弟，如何其松，栗子易二人都是刘的朋友。何，栗等人见刘武功大进， 不服。 逼着刘把李师介绍给大家拜师， 不让刘专美。李师的另一个关键的徒弟郭勋旗，也是通过刘认识的。 郭勋旗，川军名将， 当年渡赤水， 逐毛酋红军者也。 郭好武， 便让李做了川军教官。 后刘文辉起义， 郭做了成都体委的副主任， 李雅轩按军衔也入了个市政协。李师因此身份，加上两个有钱的徒弟时时帮撑， 从此便一生无忧。郭勋旗最后病死于文革中，听说曾有一把蒋介石御赐的军刀留下来在李师的某徒弟手中。<br /><br />49年后的几十年，李雅轩教拳其实没有什么事做。 李后来又收了大群徒弟， 各色人等都有。 文革期间， 又收了工人造反派头头，故没人来拳场捣乱， 仍能大模大样地搞四旧。李师白日里教拳， 隔三差五地和查拳掌门张英振等聚会比斗， 日子果然舒心。张等人也是登峰造极的外家高手。 当年，国军从四川败走时，留下许多武林高手， 大都散居成都。一时群星荟萃， 千年难有。 但他们的生活都很苦恼，很多人靠卖苦力过活。当年的成都人很多都知道，拉三轮的中有许多隐姓埋名高手， 万万惹不得。<br /><br />李师对师徒的礼节非常看重。 教拳累了，李师坐下，徒弟没有允许，再累都只能站着。当年象何栗这样的大款却也都是知礼的人。如果说光靠表面的恭敬就能骗过李师，就错了。 李雅轩认人的功夫真的了得， 让人不佩服都不行。 所谓“日近日亲，日远日疏”， 三十年不为所动， 古往今来几人做得到！<br /><br />有位林先生从重庆来， 带着李雅轩大徒弟周子能的荐书要拜李为师。席间谈笑甚欢， 李师问林跟周学了几年， 对太极理解如何。 林一一做答，并表达了向李师学真功夫的强烈意愿。 末了加了一句， 周子能没什么功夫。 林说的也许是心里话，周一个大银行家， 吃喝玩乐，肯下功夫也有限。但周毕竟教了你这么多年，怎可如此说。 李雅轩一听就不乐了，林也自知说走了嘴。当下不欢而散。 林后来细心周旋， 李始终不收他。林也真有恒心，也够脸皮，就在李师的拳场边拉了个摊子， 图个低头不见抬头见， 凡三十年。 李从来不给个笑脸。林刚开始拉场子时， 李师讽他“当林教头了啊”。 几十年后， 这个故事传到我们耳里就成了， “李雅轩称赞我功夫学得好，说我是梁山好汉林教头”。<br /><br />林几十年在李雅轩那里打不开缺口， 就找上了何其松。何其松好酒又好热闹，林何二人是酒友。林常带上酒和小菜找何边饮边谈武术。 何经不住林用言语相激。当面就表演李雅轩教他的“正宗”。 有一次， 李雅轩刚教了何的手法，其它师兄弟还没来得急教。第二天就见林在那里炫耀。 何虽是李的爱徒，但李师真的生气了， 痛骂何。 之后两年， 不跟何说一句话。  何虽悔之， 但不能改。 还是爱和林在一起喝酒， 但言谈多有收敛。林多年辛苦， 工夫不负有心人，对李的所学也知道了个大概。  林遍查典籍， 遍访名家， 整理创造，俨然大观。 李死后， 林遍把它的那套拿出来， 广收门徒， 大树旗帜。 后来， 何师也因车祸受伤，足不能行， 没几年也仙去了。林没了顾忌， 就公然打起李雅轩弟子的旗号，招摇。 搞了个推手研究会， 卖他拉扯硬顶那套。林特别爱和体委拉关系， 而且他那套也很对体委的胃口， 故混得颇好。  林的场子大了，市场有限，就免不了和其他人起冲突。老一辈不是年迈， 就是学得不到家， 居然不是林的对手。 林站了上风便不饶人。 一回， 某老师在西郊体育场贴了招生广告， 林的人把广告上的地址电话改了，改成了林的。如此明目张胆，连张纸都省了！林到处以李雅轩的正宗传人自居， 恼了李的女儿女婿李敏弟陈龙骧，在刊物上发文不承认林是李的徒弟。<br /><br />林也的确拿不出任何证据证明自己是李的学生， 连个照片都没有。 武术界拜师都要留张和师傅单独一起的照片为证。 老一辈对和谁照相是很在意的， 因为怕有不良之人拿着照片到处骗。当年我师傅到上海拜访傅仲文， 和傅留影。 傅处有一人自己站到边上， 被傅斥责不让留影。林的这种事放在旧时代是不会发生的，老一辈代代都立有传人执掌门户。林也就是欺李的门下不团结。李雅轩也是有个儿子的，叫李同骏，是个很好很善良的人。但父子关系不好，李的儿子气李在外多年从不回家，还在外另娶生子。因此， 李的儿子不想跟他父亲学功夫。 李雅轩死后， 他儿子也曾想过把大家组织起来不要就散了。成立了个李雅轩太极拳社， 搞了些活动。但因李同骏不是武术中人，诸人正当壮年，个个都有出头的打算，很不合作。李同骏本就不在意这些，受了气， 干脆就散了。 自己不团结就难免被人个个击破。当年团结时，连大龙这样的高手都对付的了， 现在居然搞不定林的拉扯硬顶。太极拳讲松， 松了才好出内力。 有了内力， 便是龙虎罗汉精钢之躯。但，硬力已去， 内力未生的时候， 最是尴尬。 李当年的许多红领巾学生正在爬这个坡， 打不过林也很正常。打不过可以请帮手嘛， 谁叫你们当年自断膀臂的。<br /><br />大龙是个美国人， 身高近一米九。 大龙的哥哥是郑曼青的入室弟子， 得了真传，回美国开武馆。 我曾看过郑的一段录象， 的确有一群老外弟子功夫了得。有一女子，和郑练对剑， 全无一点丢顶， 如风中之叶粘着郑的剑风， 郑居然无机会发力，只好把她逼到墙边。可惜，只嫌根劲稍弱，不然也是走得开的。 女生学拳大都如此，力量嫌少。李雅轩选徒弟喜欢大个的，不怕胖，只怕没重量。郑曼青是李雅轩的小师弟， 两人情谊非常，曾有代师传艺之说。 大龙想来也知道这些，便找了个英语外教的<br />差事来四川会高人。<br /><br />大龙打上门来时拳社还在, 老辈子齐齐高坐。 大龙先练了一套拳， 然后等人比试。 大龙人长毛多， 老辈子们都不吱声。何师爷拿眼看我师傅，我师知躲不过，便叫师兄李剑先上。 李剑也是个一米八的大个子， 辈分低输了也不怕。 李剑和大龙推手，招呼打完， 大龙一挤，李剑一化。可惜走早了，化得不干净，被大龙两手透了进来， 往李剑腰上一拢，李剑忙左轻右重采他一边，可惜又早了点，大龙身势还未全部上来。 大龙一变招，踮半步进身托住李剑的双肘，把李剑端了起来， 身势一沉一送，李剑被抬出一米之外。 郑曼青果然了得， 有真传。 大龙身长力大，居然练出了根劲，比斗中全无硬力， 发人发得干脆。我师叫声“好手段”便跳到圈中。 招术还是一样， 也是大龙先一挤， 我师动也不动原地就化。 大龙见劲锋被引， 心有不甘，忙踮半步， 手也不回变按势，我师借力退半步。 大龙劲去一半一无所得，又不敢丢， 一丢就会被打进来， 一狠心又进了半步，继续按。 这下完了，断了自己的根劲。我师见他现了虚实， 拉他就走。 大龙乱了气息， 只好用明劲周旋。 几次想落口气， 又被我师乘势把力压下来，呼吸不得。 大龙进退两难，被我师不紧不慢地又引又按，手手都打在他呼吸的关键上。如只见两人，霍霍地走了两圈。 大龙如负石上山， 终于受不了了， 再不停非得憋死不可。只见大龙一声闷吼， 全不顾章法，也不要门户了， 提手一拳向我师的腕子砸了下来。 我师手一翻，在他的脸上摸了一把跳出圈外。这就算大龙输了。大龙顾不得什么颜面（老外其实很梗直，也不讲那些），忙找个凳子坐下，狗喘了半日才歇过来。 <br /><br />大龙功夫很好的。我师赞他，横向化的很活，根劲也好， 就是没得步法，步子大点就动了跟。 “老外天生骨壮筋强， 原地斗还不见得干得过”， “太极拳不是街头斗殴， 赢得不潇洒人家不服”。<br /><br />老拳师的故事（二） [萝卜酒] 于:2003-10-15 13:58:43 <br />（二） 巧藏私财九头鸟真英雄， 智教倭徒何师不负忠孝<br />何其松， 湖北人， 抗战时来四川， 是个大资本家。成都市最繁华的商业街――春熙路三大老板之一。  何其松38岁时，得了一不名之症，再热都只有半边脸出汗。花了很多钱，中西医都试过了，怎么都治不好，后因刘仲桥介绍太极拳好，便拜李雅轩为师学太极拳。果然一生康健，活了九十岁，如果不是晚年车祸撞断了腿，何师肯定能活过一百岁。<br /><br />何其松本行是个摄影师。 当年吴佩孚当湖北省长时，何为吴照了一张吴极其满意的官照。 何因此成了吴佩孚的私人摄影师。 湖北省的大小官员都要悬挂吴佩孚的照片， 何师独家经营发了大财。（吴佩孚在老人中极受尊敬， 比如李雅轩就从不挂蒋委员长的像， 只挂一幅吴佩孚的大相片。） 抗战爆发， 何入川后在春熙路买了店面，开了成都当时最大的火星照相馆。何师的照相馆设备非常齐全先进，用的全是当时最高档的德国货。后来的国营照相馆几十年的主要家底都是当年何师置备的。何师自己对技术是样样精通， 特别是转机，只有他一个人搞得定。 <br /><br />49年大陆色变， 搞公私和营， 说白了就是没收资本家的财产。何师当时态度很好， 对查帐积极配合，连个痰盂都主动交了出去。其实， 何师早就藏下了几箱子的金银财宝，就连他的儿子都不知道。  当年在春熙路拥有地产的一共有三个老板，何师是其中最小的一个，另外两个大老板做汽车生意，独家代理西南所有的进口车生意。何师知道共党不是好相与，为求保命，该舍的就舍， 连痰盂都上交了， 从资本家变成了个无产阶级工人。那两个汽车老板就看不清党的真面目， 被表面上的“公私和营”口号骗了，按规矩和党明算帐。没过多久就被搞死了。 共党刚进城时， 土包子还玩不转高科技，所以用“公私和营”的口号暂时稳住资本家。 其实，五十年代初还是有机会跑的， 很多资本家舍不得多年的辛苦， 又被共党的宣传所欺骗，对党报有幻想，放弃了奔向自由的机会，以致终身遗憾。 何师本人并没有受过多少教育， 对时事看得如此清醒，强过储平安、钱钟书这样留过洋的大知识分子太多。 我并非批评储、钱这些人，当年共党的宣传极其美好，换了你我也一定被共党骗了。 但是真英雄就是那些能用行动作出正确选择的人。 走还是留，就一个字，聪明和愚蠢马上区别开来。 <br /><br />何其松虽主动上缴财产， 党并没有就此放过他， 历次运动都想致何师于死地。党对开国元勋都下得了手，掐死你个资本家就当是磨磨刀。 但何师最了不起的就在这点上。 只有何师会照转机， 党离不了这个张屠夫。（毛主席说“离了张屠夫就是混毛朱”，屁！这帮人从来只吃好的，才不会吃混毛猪呢） 所谓转机就是那种几千人合影用的机器。五几年， 朱德接见三千名西南地区干部的合影就是何师掌的勺。那张照片有两三米长，三千个干部最少要印三千张。 在当时这就是最大的政治任务了， 单位里吃人成性的党的干部担不起这么大的责任，何师终于捡了条小命。   这个故事，今天讲起来好象很轻松。其实中间还是有许多波折的，党是没那么容易投降的。 组织上也好几次派过“积极分子”跟何师学习， 向何师真诚地请教，希望何师接受这个光荣的任务， 为党培养人才，为革命做贡献。 何师接受了党的任务，对这些积极分子简直是关怀备至， 永远抢着干活。 积极分子们想几点来就几点来， 想几点走就几点走， 想玩什么就玩什么， 随便整，整烂为止。 整烂了就由何师修， 修好了再整。 每次何师都语重心长地说： 幸好只是个小零件， 要是什么什么就什么什么了， 没关系我不跟任何人说。时不时，何师还反过来请徒弟吃点油水。 党的积极分子啊，转机放在哪你知道吗！<br /><br />何师是极有心机的人。前一回，我讲林教头每每用酒食从何师那里套功夫， 也许让大家觉得何师是个好酒无德的人。 其实并非如此， 何师只不过图个热闹罢了，对于功夫何师是有保留的。 何师有的是钱，哪里在乎林那点酒食。 我师傅以前常奇怪，何师一个月的药费都比工资高怎么还经常和李雅轩在外面吃。何师有两次大吃大喝的故事很有趣， 那都是文革期间的事。 一次是何师几人在师兄赵清溪家里煮肉喝酒。开后门买了一大堆蹄子、膀、大肥肉的，炖了一锅又一锅，几个人吃了又睡， 睡了又吃， 一连吃了两天。 散了之后， 何师腹痛欲裂。 到医院一看， 急性胰腺炎，差点就过去了。何师还真命大。 赵清溪是个三百斤的大胖子，何其松也是大块头， 大家都好武好酒好热闹， 每次何师搞这些臭事都少不了他。这帮师兄弟真好耍！何师的另一次大吃大喝是请李雅轩吃鸭子。 这个故事很经典， 至今我师傅他们喝茶聊天还经常谈起。 李雅轩特别喜欢吃鸭子。 成都的卤鸭子、 樟茶鸭、甜皮鸭（甜皮鸭十几年前还没有），全世界没有几个人不爱吃的。 身在异国他乡的我，如今只有在梦里吃鸭子， 流一枕头口水了。 李雅轩在给张义敬的信中讲要饮食清淡，这是吃饱了之后的话， 放在今天是对的。 在当年除了毛主席连邓小平都没有饮食清淡的本钱。 练武之人一定要营养充足， 中国人饮食里乳制品少， 含钙不够， 吃鸭子，啃焦骨头是身体需要。 何师请李雅轩喝茶、看戏、放开肚子吃鸭子， 一连搞了一个星期， 花了八十块钱。 八十块钱，在文革那时想当于好多人两三个月的工资。 李雅轩牛高马大， 本来就吃得多， 自从大陆色变之后，再也没有吃得这么爽过！李师知道徒弟的心思， 末了用一个很夸张的姿势一甩手， 把太极拳的起势按实战的要求打了一遍。 何师看在眼里， 反复揣摩，猛地领悟了内家拳的劲道， 从此“懂劲”， 太极入门了。<br /><br />以后，太极的起势就成了何师拿手好戏。我师傅回忆，何师打人最爱用的就是起势：两臂向上棚开对手的双手， 整个身子往下猛的一沉， 两臂用意不用力，借着身势下坐和根劲的反弹，邦的一声把人震飞出去。 诸位看过动物世界里的北极熊的， 就能想象何师发力的那种气势。熊一掌拍出去，满身的肥肉都在抖， 何师也是一声闷吼，满身满脸乱颤。 可见其倾尽全力，毫无羁绊。何师身大体胖，内力精纯， 无人敢迎其锋芒。 何师这一招有个外号唤作“八十块钱的卤鸭子”。 我们都这么叫。 <br /><br />诸位看到这里千万不要以为李师是个藏私的人。李雅轩对徒弟并没有偏见，也许有所保留， 那也只是因为不到时机，功力未到， 告诉了也是白搭。李师教的都是内家正宗心法， 何师又练得那么辛苦，迟早都能“懂劲”。 李师的一甩手只不过是一个机缘。 见过李师动手的人多了， 怎么就何师能懂了。 何师练拳之用功无人能及， 为了练下盘， 到哪里都走猫步。每天从东门大桥，走到人民公园练拳，别人都以为是个“疯子”，碰到熟人何师便慌称脚痛。 何师跟李雅轩多年， 基础好，又肯想，才能经李师一点即通。并非有什么秘诀在里面，李雅轩不肯教。 李雅轩对徒弟是很负责的，不准跟任何其他人学，只能跟自己学，连看书都不准。李师很清楚只有他教的才是真货，其他人的都是骗人的。内家拳，大松大软才是正路， 拉扯硬顶，推不动是歧途。 李师的红领巾徒弟们走的都是正道，只是没能得到李雅轩“一甩手”的点破。 只要坚持本师的学问， 自有一翻好前途，不必以林教头为意。<br /><br />太极的懂劲真是困难， 非日久不可。 我师傅每天练拳之余都要压压我的手， 搞了几年，我就是不懂什么叫棚。 师傅每次不是说“硬了”， 就是说“软了”。硬了， 师傅一收手， 我自己就跳起来了， 说软了， 一上力我就被压塌了。 直到有一次，师傅压师弟，我在旁边看， 猛地一下灵光一闪， 我知道什么叫“根劲”了。师傅一压，说了声好，让师弟也来压我， 比较一下异同。 我当场就听到的师弟的劲，随他怎么动， 我一点也不瘪，他若猛的撤力，我也不反弹，而且还不累。以前自己手酸臂痛也坚持不了几分钟，而用根劲一棚就是半小时，心不跳，气不喘， 就是小腿有点胀，真是又简单又神奇！若非恩师口传身授， 我又怎能得见如此美事。太极之妙匪夷所思，太极拳和孙子兵法、老庄哲学一脉相传，是中华三千年不间断历史的精华，决非一人可创。 陈王庭创拳说乃是唐豪等人出于不可告人目的的杜撰。 如果真有人能如此聪明，以一己之力创拳，必定能翻云覆雨，怎会终老乡下。陈王庭编点套路是可能的，但内功心法没有师承是永远想不出来的。太极套路，只要是懂劲之人， 都可以编一点。 我师傅就可以把任何两招接在一起不违反太极的原理。但是，套路是实战的总结，老套路是前辈的经验结晶，不可轻弃。李雅轩传下来的杨澄浦大架115式编排非常科学： 有连续进攻， 有连续防守；有四面出击，有专攻一方；有轻兵急进，有步步为营；有声东击西，有绝处逢生； 攻中守， 守中攻。这一套拳如果配上陪练对手，就是一部起伏跌宕、情节紧张的武打电影，比黑客帝国还好看。那些新编的套路，岂有这个效果。 <br /><br />何师懂劲之后， 瘾大得不得了。 早上在李雅轩那里学， 晚上就拉着我师傅练手。 我师傅当年没有下乡， 也没有工作，每天就陪着何师当陪练，从不间断。 就是下雨，何师都要穿着雨衣在体育场等。师傅常讲，“何师就象拍皮球一样把我放飞”。   何师这种瘾头我现在很能理解， 太极拳的魅力就在于此。 内力放人的感觉非常爽， 就象性生活一样爽， 也许还更好。 房事之后， 腰腿乏力，脚跟是凉的； 内力发人， 浑身是暖的， 腰胯麻痒，特别是有一股暖血，沿小腿流向脚底。 当年杨露蝉父子王府教拳， 端王、傅伦贝子这些人都是锦衣玉食、妻妾成群之人，你猜是什么让他们如此迷恋。 内家拳神色庄严， 心平气和， 瞪眼间降伏野蛮汉， 那种成就感， 那种自信心，何快能为！人生血肉之躯， 力不能移山， 气不能吞河， 天之高， 海之阔， 常怀无奈。  西方人锻炼身体总是好勇斗狠，肌肉越大越好，折腾皮肉，和自己作对，妄图与天争胜，其实内心空虚。 中华道家，应天顺时，修身养性，反视内听，大松大软，身神合一，养的是真正的神勇。 人身是天地中一点灵性种子， 力不须大，气不必壮，只要审时度势，在恰当的时候做出正确的选择就能“翻天覆地”。  内家拳懂劲之后， 可以感觉到自己真实的身体，把运动潜力全部发挥出来，而且心情轻松，头脑清醒，感官灵敏，在竞技比斗中站尽先机。欲炼坚钢者不得坚钢， 极柔软者反而极坚钢。道之玄妙， 玄而又玄， 中国人的老祖宗怎么就如此聪明！ <br /><br />何师胖大，如祖师杨澄浦的风格，拳风蛮横。 何师用松弹劲把人放飞，身体没有什么伤， 但感觉很不舒服， 头晕想吐，好象轻微脑镇荡的症状。何师的学生都怕，躲。何师也怕打出事， 每天就只好发我师傅这个死心塌地的大徒弟。我师傅身材瘦小，年复一年被何师打出一流的听劲、化劲。 师傅的风格和何师完全不一样， 极空灵。 师傅有个服人的绝技就是，背贴床边任人冲撞， 脚跟一丝不动把人发到床上。 这是根劲充沛， 听劲高超的表现。 太极好化劲就是来力再大，也能不动步、不后退就化个干净。李雅轩传下来的套路里， 转身是先转过脚跟再出弓步。 这点和其他套路都不一样， 其他套路都是先退步再转身。 套路里的转身是模仿对方来力凶猛，先退步让过再连化带发，在实战中李师的打法是要吃亏的。但如果象李师一样内力高深就不怕，而且发力还巨大。我师傅有次打林教头的徒弟景大个子就是原地转身把人放飞。<br /><br />那是成都市第一次举办太极推手比赛。 我师年青气盛也报名参加了，和林教头的徒弟景大个子相遇。 林教头是比赛的顾问， 参与了体委制定规则。 我师和景大个子一交手，景大个子就扎个死马妄图硬顶。我师知他无用，吃住他，往他的根上揉搓。景大个子用的是明劲，被打得连连跳起。 我师不让他落根， 采挤并用， 拉着他绕8字圈。 我师幼儿学，三十年修为，步法天下无双，直累得景大个子气喘吁吁。 林教头几次借口犯规，在景大个子危难关头下场干涉。我师汗都没出，胜卷在握，也不理会这些小人伎俩。 景大个子被林教头韶道得不堪， 心下一横， 不顾章法地向我师猛扑过来，一副同归于尽的架势。我师见状暗自高兴，轻轻接住他，内里一个折叠， 脚跟一转， 一沉一送把个景大个子就势放飞。 景大个子在空中一个翻了个跟头，摔在地上，还滑出去了一截。 全场掌声雷动，所有的裁判都打出最高分4分。 林教头气得脸色铁青。 <br /><br />赛后， 林教头拿酒食来走何师的路子，请何师出面让我师傅弃权。 何师被林用高帽子戴住，心想我师傅功夫高强以后有的是机会，就答应了。 景大个子后来还是输了。 我师见全国冠军都是顶牛，没有一个有真传，感到很失望，心就淡了，再没有和体委打交道，倒是指点了两个同门师侄如何顶牛， 顶了个什么冠军。 从这个故事， 可见林教头是利益中人， 并非真心向武之人。难怪李师不原谅他。<br /><br />这两天，日本人珠海买春的事闹的沸反盈天。 我有一朋友评曰：日本人被宰了还没有投诉， 中国人反而闹起来了。 如何对待日本人， 我们不妨看看何师是怎么做的。 <br />何师抗战中逃难到四川， 何师的母亲和妹妹坐的船被日本飞机炸沉了。 何师和日本人是有血仇的。 但，在八十年代初何师还是收了个日本徒弟。 那个日本徒弟是锦江宾馆的厨师。 锦江宾馆在赵紫阳的亲自干预下是全国第一个和外资合作的宾馆。当时，紫阳是四川的书记， 对于合资省委没一个人同意。 紫阳就来个混的， 凡是在锦江开会，他就不来。 省委开会，书记不来算什么。这个全国第一就这么诞生了。（我出国时， 紫阳正在四川， 那么多党国大员居然不敢去看看这个老领导， 倒是锦江的经理，一个厨子，还有点念旧敢去打个招呼。 可怜啊！这就是那个曾和联合国交手震惊世界的党。）<br /><br />何师的日本徒弟每个星期天到人民公园学拳。 有点基础后， 何师每次都要单独教日本徒弟推手。 除了我师傅没有一个徒弟何师敢放开来打。当年被何师很打跑了几个徒弟，（这几年这些“老人”慢慢又回来找大师兄了）。我师傅练出好听劲后， 何师打得就不爽了。 何师象个载重卡车一样撞上来， 我师傅借力就走，临飞出去时还小还一掌，脚不沾地，落到十步之外。 外人看来很壮观，其实何师内里不爽： 刚开始被化了打得不实在，末了还吃还了一掌， 被瘪了一下，就象吃了个苍蝇。 我师傅也知道这些，最后都要让何师实实在在地发几下，不然过不了关。 何师是个人来疯， 围观的群众越多， 越要漏几手， 打得越狠。不仅要放得远，还要来几个花式，又采又咧。群众要是喝彩， 何师还要追上来补火，表演连环掌。我师傅要是不配合， 何师的脸要难看一整天。何其松一个七八十的老头， 心还年轻的很，若是年轻几十岁， 一定是要混演艺圈的。<br /><br />何师有了日本徒弟之后， 就放过我师傅，开始打日本人。 日本人是生手， 打得实实在在，比师傅装出来的打得顺手的多。 每到此时， 我师傅就叫大家都过来看“何老师报仇”。 何师的拳场在人民公园里的围墙边， 何师手黑， 虽不敢出冷劲伤人， 但总是把日本徒弟放飞到墙上。 日本崽的背撞在墙上， 痛得嗷嗷直叫。 后来，日本徒弟也看出门道来了， 就面对围墙站， 何师就开始教活步推手，几个比划，日本徒弟又背对围墙站了。日本崽连忙双手护胸，何师轻轻一探一引， 日本徒弟手就不知哪里去了，这是太郎自己也知道“起飞时间到了”，又被放到墙上贴起。 <br /><br />日本徒弟被打得惨，但不生气。日本人奴性重， 有点喜欢受虐的意思。 太郎对何师非常尊敬， 一连五年每个星期都来，从不见断。久而久之太郎也被打出了根劲和化劲，但他自己并不知晓。 此时何师要放飞他就要费些周折了。 何师没了兴趣，就教太郎架子， 改拳。 太郎对何师的每句话都牢记在心，奉若神明。云手七寸， 什么什么几寸，不能多也不能少，太郎的本子上写得清楚得很。得了太极最正宗真传，太郎心里好生激动啊！<br /><br />太郎终于能回家了。 走前， 太郎玩了点阴的。 太郎不知从哪里听说了“胎息法”，想让何师演给他见识一下。 暗地里，太郎买通了一位学员师姐，躲在树丛中用摄像机偷录。 何师觉得突兀， 也瞄到旁边有些异样。 何师知道有鬼， 但并不说破。 慢慢地走到场中，打给他看。 “胎息法”是太极内功的心法， 并没有什么固定的外形动作。何师看太郎居心不良，就将计就计现编一套给他看：“一个烧饼， 这么这么大，好大好大。 左边这么厚， 右边也是这么厚。上面洒芝麻， 下面也洒上芝麻。 他多吃了一口， 跳过去抢回来。别人来抢，我就躲。 我吃， 再吃， 吃饱了。吃多了， 肚子痛， 揉揉， 再揉揉，还揉揉。烧饼总算吃完了。”<br /><br />太郎满意地回去了， 师姐也挣了笔巨款。这也好反正太郎钱多，师姐也需要钱。 后来，故事传出来，大家讽那位师姐。师姐自知不对， 也怕谁来理她那笔钱，就再也不来了。 太郎是载重卡车撞出来的功夫，在日本没人能搞得动他。太郎堂堂高坐成了什么什么会长，当宗师的干活也。五年辛苦真没有白费，从此有人侍侯，不侍侯人了。 可贵的是太郎还是感恩之人。何师出车祸后， 太郎寄了一万美圆来， 还张罗着接何师到日本治疗。 一万美圆在那时是个大数啊！我写此文时，太郎也许正在很神秘地教几个出了大价钱的日本款爷，吃烧饼的干活吧。<br /><br />何师教太郎的原则就是“只可使其有之， 不可使其知之”。太郎身上的功夫够他闯一阵子，但他并不知道是怎么来的， 要传下去是不可能的。 今后的太郎拳还不知道会变成个什么样子。 可怜啊！<br /><br />同志们啊！何其松老师教导我们：可爱的日本朋友只不过有点贪，又有点缺脑细胞而已， 不要只恨他们，要利用他们啊！
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/27620#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 14 Oct 2006 13:15:22 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/27620</link>
        <guid>http://wolfsquare.javaeye.com/blog/27620</guid>
      </item>
      <item>
        <title>小经验两则</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/38682" style="color:red;">http://wolfsquare.javaeye.com/blog/38682</a>&nbsp;
          发表时间: 2006年08月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.Oracle 8i 下使用最新的oracle thin driver时用DatabaseMetaData获取主键等信息时,需要将<br />connection.getMetaData().getPrimaryKeys(connection.getCatalog(),null,tableName);<br />中的tableName转为大写,否则无法得到数据。<br /><br />2.正则表达式中,需要以","分割字符串,但是要分割的字串中含有","号,为了避免冲突,引入前置转义字符"\",这样的正则怎么写呢?<br />例如:<br />String txt = "STATE_COUNTY=kj\\\\,,ADDR_LINE1=l=j,ADDR_LINE2=mj\n\n,ADDR_LINE3=n\\,o,\n\nADDR_LINE4=\np";<br />需要把键值对切分出来:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"> Pattern.compile(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[^\\\\],)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span></div>这个是不行的,会将","号前一个字符消耗掉。<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"> Pattern.compile(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(?![\\\\]),)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span></div>也不行<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">Pattern p </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Pattern.compile,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,(?![\\\\])</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span></div>倒是可以,但是把转义字符放后面似乎有点诡异。<br />找了一个折衷办法,不切割使用正则获取"键=值"子串:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">Pattern p </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Pattern.compile(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\\w+\\s*=.*?[,]*.*?(?=,|$)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,Pattern.DOTALL);</span></div>但是还是带来了子串中不能含有"="的问题。<br />最后查了一个JDK1.4 DOC,发现了一个反向的非匹配串写法:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">Pattern p </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Pattern.compile(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(?&lt;!\\\\),\\s*</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span></div>这样一来就解决了以上问题。
          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/38682#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 03 Aug 2006 09:54:00 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/38682</link>
        <guid>http://wolfsquare.javaeye.com/blog/38682</guid>
      </item>
      <item>
        <title>回复 乱弹权限系统续一</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/38683" style="color:red;">http://wolfsquare.javaeye.com/blog/38683</a>&nbsp;
          发表时间: 2006年07月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          
		<p>
				<a href="/RongHao/archive/2006/07/03/56258.html" class="singleposttitle" id="viewpost1_TitleUrl">乱弹权限系统续一</a>
				<br />原文在这:http://www.blogjava.net/RongHao/archive/2006/07/03/56258.html<br /><br />仔细分析一,二,三,四权限背后的实质可以发现:<br />一系统权限的概念有一些冗余,很难想象这样一种情况:你已经有了子系统下的很多权限,结果因为没有模块权限而使得无法使用该模块进行任何操作,分配权限的人要非常小心才行.这个世界已经够复杂了,不要再给开发,部署人员增加复杂度了.很明白的,这个权限是不需要资源的权限<br />二数据库操作权限的概念,有一点疑惑,不知道为什么要建立这样的一个概念,和行级权限有什么区别呢? 从你的上下文理解来看,似乎是这样子的:有操作X表的业务,如果用户有增加权限,则可以任意增加数据,如果用户有编辑权限,则可以编辑任意数据.实际上对应标准权限模型为:不需要限定资源的操作,即不需要资源标识的权限.<br />三行级数据权限,这个概念很直白,对应标准权限模型就是: 资源(行数据)+操作<br />四列级数据权限,由于不是针对某特定行数据,所以它也是无资源型权限<br />就这样,所有的权限最终可划为需要资源标识和不需要资源标识,换句话说,所有权限可划分为控制某些集合的权限和控制单体的权限两种,在某些时候,也称之为 功能权限和数据权限</p>
		<p>
				<br />谈到把权限分给别人,很自然的就是如何控制权限的权限的问题了,很拗口,是吧?仔细想想,这样很直观,也没有什么后遗症,权限自递归控制和自解释,真是一个完美的循环.<br />有爱思考的同学想深了,会觉得非常麻烦,难实现.当然,概念上一回事,具体实现上可以是另一回事,可以做很多的变通来达到目的.只要保持概念上的简单性,就足以使得非常多的人得以解脱了。</p>
		<p>另外，作为架构设计者，非常非常不赞成动辄就把很底层的概念扯进高层设计中（例如行级，数据库什么的），很容易把自己和别人搞胡涂。<br />可以最近状态不好，要不好好blog一篇，8过，有句话怎么说来着：“都素那浮云而已。。。”</p>

          <br/>
          <span style="color:red;">
            <a href="http://wolfsquare.javaeye.com/blog/38683#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 04 Jul 2006 22:45:00 +0800</pubDate>
        <link>http://wolfsquare.javaeye.com/blog/38683</link>
        <guid>http://wolfsquare.javaeye.com/blog/38683</guid>
      </item>
      <item>
        <title>不完美的世界－看到了IOC工具的又一个发展方向</title>
        <author>wolfsquare</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wolfsquare.javaeye.com">wolfsquare</a>&nbsp;
          链接：<a href="http://wolfsquare.javaeye.com/blog/38684" style="color:red;">http://wolfsquare.javaeye.com/blog/38684</a>&nbsp;
          发表时间: 2006年06月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在继续深入的，完整的实现前面文章《<a href="/wolfsquare/archive/2005/12/05/22630.html" id="_186acbd4dd21_HomePageDays_DaysList_ctl05_DayItem_DayList_ctl00_TitleUrl"><font color="#223355">基于事件分发机制的企业应用开发 </font></a>》和《<a href="/wolfsquare/archive/2005/12/06/22772.html" id="_186acbd4dd21_HomePageDays_DaysList_ctl04_DayItem_DayList_ctl00_TitleUrl"><font color="#223355">基于拦截器的企业应用构造</font></a>》中所构思的想法，在印象中，权限系统和组织结构是任何一个ERP系统都会用到的，不是随便两下就能实现的简单功能模块，实现了这两个子模块后，无论什么地方都会用得着，于是便从这两个功能入手，目前把基于RBAC的权限系统完整实现了，组织结构实现了80%,随着代码以及逻辑的增加，基于Spring IOC的配置也开始复杂起来，不过这个是无法避免的，毕竟系统目标是高度可定制，高度灵活的可配置性就意味着复杂性,这里的复杂性不是仅仅指Spring配置语法，而是指各个Bean之间的关系，每一个Service目前都必须做事务控制，安全控制，事件转换，而且问题已经不仅仅是Service的配置问题了，随着系统事件的增多，慢慢的各个事件间的逻辑关系也必须被表示出来，使得目前不得不引入了事件堆栈的概念，用来表示源于同一个操作导致的雪崩式的事件关系，目前的事件堆栈还比较简单，但是作为一个架构设计人员的敏感，我们已经嗅到了还需要把事件管理深化下去的一丝气味。这些层次，这些逻辑，已经是不能简单的靠看Spring配置才能理解的了，这个还是我们一个JVM进程能产生的需求，而多个程序，甚至多个系统集成的概念需求（例如SOA），会比这个更加复杂。在本例中，系统需要一个图形化的容易管理配置bean之间复杂关系的工具的需求越来越迫切。很自然的，我们得出一个结论：系统配置的图形化，形象化成为了业界可能的下一个发展方向。<br /><br />ps：该工具最好是一个图形化的，可作进行运行时“热修改”的配置定义工具兼Service管理工具，JMX似乎是一个可以考虑的方向，不过还没想清楚如何与该配置工具紧密结合，我只是希望能够象扳动水管开关一样调整各个图形间的连接，系统里的事件流就会随之改变，事务管理，安全控制也会随之改变。不知道哪位同学知道有类似功能的东西，还劳请留个言告知一声。如果没有的话，就只能等本系统告一段落后再来解决这个问题了。如果您正在发愁不知发展方向在哪，看到了这篇文章而有所启发去做出这样一个工具的话，还希望能便宜点卖我一份 ；）。<br /><br /><br />虽然上面说了那么多，指出了IOC工具的又一个发展方向，但是我目前面临的问题还没有解决 ：（<br /><br />为了展示一下这个复杂度，现在把该系统其中的两个模块的Spring配置show出来：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 组织 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgService"</span><span style="COLOR: #ff0000"> parent</span><span style="COLOR: #0000ff">="baseTxProxy"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="orgServiceProxy"</span><span style="COLOR: #0000ff">/&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgServiceImpl"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.service.OrgService"</span><span style="COLOR: #ff0000"> autowire</span><span style="COLOR: #0000ff">="byName"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="orgTypeService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="orgTypeServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 组织类型 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgTypeService"</span><span style="COLOR: #ff0000"> parent</span><span style="COLOR: #0000ff">="baseTxProxy"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="orgTypeServiceImpl"</span><span style="COLOR: #0000ff">/&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgTypeServiceImpl"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.service.OrgTypeService"</span><span style="COLOR: #ff0000"> autowire</span><span style="COLOR: #0000ff">="byName"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 单位 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="unitService"</span><span style="COLOR: #ff0000"> parent</span><span style="COLOR: #0000ff">="baseTxProxy"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="unitServiceImpl"</span><span style="COLOR: #0000ff">/&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="unitServiceImpl"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.service.UnitService"</span><span style="COLOR: #ff0000"> autowire</span><span style="COLOR: #0000ff">="byName"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="lifecycleListeners"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&lt;ref bean="unitListener"/&gt;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="objectSyncOrgListener"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="unitListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.UnitListener"</span><span style="COLOR: #ff0000">  autowire</span><span style="COLOR: #0000ff">="byName"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #0000ff">/&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 个人 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="personService"</span><span style="COLOR: #ff0000"> parent</span><span style="COLOR: #0000ff">="baseTxProxy"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="personServiceImpl"</span><span style="COLOR: #0000ff">/&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="personServiceImpl"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.service.PersonService"</span><span style="COLOR: #ff0000"> autowire</span><span style="COLOR: #0000ff">="byName"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="lifecycleListeners"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="objectSyncOrgListener"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 身份-角色侦听器 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="personRoleListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.RoleListener"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="roleServiceProxy"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 组织机构创建删除－资源同步 监听器 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgResourceSyncListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.OrgResourceSyncListener"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="categoryName"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">组织机构</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">            <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="resourceService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="resourceServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="includeTypes"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">unit</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">person</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">role</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgRoleListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.OrgRoleListener"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="excludeTypes"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">role</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 组织结构对象删除侦听器 ，需要挂接到需要同步的Service上</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="objectSyncOrgListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.ObjectSyncOrgListener"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="orgService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="orgServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="personToOrgRoleListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.PersonToOrgRoleListener"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="roleServiceProxy"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgSecurityListener"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.listener.SecurityListener"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="permService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="permServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="resourceService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="resourceServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="functionService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="functionServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">        <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgServiceProxy"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.springframework.aop.framework.ProxyFactoryBean"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="orgServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="interceptorNames"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">rsi</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="singleton"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">true</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="orgEventBrocaster"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.org.event.OrgEventBrocaster"</span><span style="COLOR: #ff0000"> singleton</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="lifecycleListeners"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="orgSecurityListener"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000">            <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="orgResourceSyncListener"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="orgRoleListener"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="personToOrgRoleListener"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000">       <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">&gt;</span></div>角色模块的配置：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 角色 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="roleService"</span><span style="COLOR: #ff0000"> parent</span><span style="COLOR: #0000ff">="baseTxProxy"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="roleServiceProxy"</span><span style="COLOR: #0000ff">/&gt;&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="roleServiceImpl"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.wolfsquare.ibase.role.service.RoleService"</span><span style="COLOR: #ff0000"> autowire</span><span style="COLOR: #0000ff">="byName"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="personService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="personServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    <br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="roleServiceProxy"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.springframework.aop.framework.ProxyFactoryBean"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="target"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ref </span><span style="COLOR: #ff0000">local</span><span style="COLOR: #0000ff">="roleServiceImpl"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="interceptorNames"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">rsi</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="singleton"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">true</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="/Ima