<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/heyang78" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/heyang78" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 14 Sep 2008 08:51:00 GMT</lastBuildDate><title>寻道</title><description>探寻程序之道，软件之道，生存之道，生活之道及生命之道</description><link>http://blog.csdn.net/heyang78/</link><item><title>分页技术及其实现</title><link>http://blog.csdn.net/heyang78/archive/2008/09/14/2926744.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2926744.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2926744.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2926744</trackback:ping><description>本文就分页的理由，分页的方式和MySql，Oracle中两种不同的分页技术进行了一些阐述，比较浅显。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2926744.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sun, 14 Sep 2008 16:51:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/09/14/2926744.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/09/14/2926744.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/09/14/2926744.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393828/5471761</fs:itemid></item><item><title>Spring的ID增长器使用示例（MySql数据库）</title><link>http://blog.csdn.net/heyang78/archive/2008/09/01/2860695.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2860695.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2860695.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2860695</trackback:ping><description>一般来说涉及数据库的应用中，表的主键有两种生成方案，一种是专门定义一个主键表，在其中放置一个自增长的字段为其它表提供主键；另一种是使用Oracle的sequence。这两种方案都有一定麻烦，Spring为此专门提供了一个ID增长器以简化具体步骤，下文就是它的相关使用方法的，使用的数据库是MySql5.

归纳
使用Spring的自增长ID生成器完成以下三步即可：
1）配置自增长id生成器，它需要一个数据源的支持。
2）根据配置将自增长id生成器注入DAO各类中。
3）使用nextStringValue，nextIntValue或nextLongValue方法得到ID。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2860695.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 01 Sep 2008 20:36:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/09/01/2860695.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/09/01/2860695.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/09/01/2860695.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393829/5471761</fs:itemid></item><item><title>使用模板方法模式简化控制层类（Action）的设计</title><link>http://blog.csdn.net/heyang78/archive/2008/09/01/2860688.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2860688.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2860688.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2860688</trackback:ping><description>在基于Model2的应用中，控制层的类总会包含对业务层诸类的调用，业务层诸类不可避免的要产生各种异常，如果统一到控制层进行处理的话会导致代码变得庞大臃肿还有不少重复，这种的例子在Web应用中的Servlet和Action诸类中并不少见。&lt;BR&gt;&lt;BR&gt;如果我们使用模板方法模式（Template Method Pattern）将业务处理和异常处理分开，能有效简化控制层诸类的代码，借用这种模式，我们可以把固定的异常处理代码放在基类中，而让子类来实现具体的业务，如果执行业务过程中出现异常如数据库无法连接，用户找不到等异常后，直接将异常抛出让基类来处理，这样做成功的把业务处理和异常处理分开到了子类和基类两种类中，涉及具体业务处理的子类代码得到了很大的简化，更方便阅读，修改和管理。&lt;BR&gt;&lt;BR&gt;具体请参考以下代码：&lt;BR&gt;&lt;BR&gt;诸Action的基类，包含了所有的异常处理，它是一个抽象类，规定子类必需实现process函数：&lt;BR&gt;
&lt;DIV style=&quot;BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cc&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2860688.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 01 Sep 2008 20:33:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/09/01/2860688.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/09/01/2860688.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/09/01/2860688.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393830/5471761</fs:itemid></item><item><title>某大型招聘会Java职位相关技术名词统计</title><link>http://blog.csdn.net/heyang78/archive/2008/08/20/2804037.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2804037.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2804037.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2804037</trackback:ping><description>&amp;lt;IMG height=386 alt=&quot;&quot; src=&quot;http://www.blogjava.net/images/blogjava_net/sitinspring/TechPoint1.jpg&quot; width=455 border=0&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;IMG alt=&quot;&quot; src=&quot;http://www.blogjava.net/images/blogjava_net/sitinspring/TechPoint2.jpg&quot; border=0&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;IMG alt=&quot;&quot; src=&quot;http://www.blogjava.net/images/blogjava_net/sitinspring/TechPoint3.jpg&quot; border=0&amp;gt;&amp;amp;nbsp;&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2804037.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 21 Aug 2008 07:30:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/20/2804037.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/20/2804037.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/20/2804037.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393831/5471761</fs:itemid></item><item><title>使用Spring提供的MailSender异步发送文本邮件</title><link>http://blog.csdn.net/heyang78/archive/2008/08/20/2804018.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2804018.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2804018.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2804018</trackback:ping><description>在工程中经常有发送邮件的任务,如果使用JavaMail来发送邮件，用到的代码较多，过程和细节也相对复杂，而使用Spring的MailSender能相对简单方便些，这样使程序员能更快捷的完成邮件发送任务。

本人书写了这样一个邮件发送实用类，在配置文件修改一些信息就能完成任务了，具体请看代码。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2804018.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 21 Aug 2008 07:18:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/20/2804018.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/20/2804018.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/20/2804018.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393832/5471761</fs:itemid></item><item><title>log4j在桌面程序和Web程序中的配置</title><link>http://blog.csdn.net/heyang78/archive/2008/08/08/2786273.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2786273.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2786273.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2786273</trackback:ping><description>本文将对开源包log4j在桌面程序和Web程序中的配置做一些说明，体积的log4j版本为1.2.15，使用的配置文件是属性文件（properties），如果这些与您的环境不符则请不要点击，以免耽误您的宝贵时间。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2786273.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 08 Aug 2008 19:14:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/08/2786273.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/08/2786273.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/08/2786273.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393833/5471761</fs:itemid></item><item><title>应用程序的层次</title><link>http://blog.csdn.net/heyang78/archive/2008/08/07/2782622.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2782622.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2782622.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2782622</trackback:ping><description>一般来说， 在创建一个应用程序之前，首先要决定这个应用程序的体系结构。应用程序体系结构（Application Architecture）由应用程序开发者设计，它指定了在各种各样的终端系统上，应用程序是如何组织在一起的。为了降低设计难度，大部分程序都以层（称为layer或level）的方式组织在一起，每一层都建立在它的下层基础上，使用下层提供的服务，下层对上层隐藏了许多服务实现的细节。这种方法几乎应用于整个计算机科学领域，也可以称为信息隐藏，数据类型抽象，数据封装，面向对象编程等。



分层即是对类进行一些规划，以流程中的类的用途和所处环节划分，把程序中将要用到的各个类分别归纳到各个包（目录）中。分层是对系统进行细分的第一步,它旨在将系统按具体功能和用途分解为相对独立的各个部分.如果说细分是将把难以解决的大问题分解成了各个容易解决的小问题的话，分层则是把解决同类小问题的类归纳到一起，这样程序的结构更加清晰，程序的可读性和可维护性越好，也更容易得到重用。


从大的尺度来讲，一个程序可粗略的分成三个层次：

界面层（UI layer），这是用户能直接感受到的，包含显示&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2782622.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 07 Aug 2008 23:01:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/07/2782622.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/07/2782622.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/07/2782622.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393834/5471761</fs:itemid></item><item><title>从模板方法模式到反射再到Spring的IoC</title><link>http://blog.csdn.net/heyang78/archive/2008/08/07/2781155.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2781155.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2781155.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2781155</trackback:ping><description>软件开发过程中，唯一不变的就是变化。这是一句老生常谈，也就是说软件开发中永恒的主题就是变化。当你把代码都写好了，测试也完成了，准备交付的时候客户忽然要求你在指定时间做出变化，这种情况在外包行业中很常见；而对一些银行金融项目，边调研边开发边测试屡见不鲜；对于一些Web项目，从来就只有永远的Beta版，改来改去的事更是家常便饭。对此，程序员一定要求清晰的认识，抱怨只能是嘴上痛快，不解决实际问题。真要解决实际问题，非要动一番脑筋不可，如果合理使用了设计模式，反射或是Spring的IoC，便能变修改噩梦为一次有趣的智慧之旅。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2781155.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 07 Aug 2008 19:34:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/07/2781155.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/07/2781155.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/07/2781155.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393835/5471761</fs:itemid></item><item><title>使用Spring提供的MailSender发送文本邮件</title><link>http://blog.csdn.net/heyang78/archive/2008/08/06/2777127.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2777127.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2777127.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2777127</trackback:ping><description>在工程中经常有发送邮件的任务,如果使用JavaMail来发送邮件，用到的代码较多，过程和细节也相对复杂，而使用Spring的MailSender能相对简单方便些，这样使程序员能更快捷的完成邮件发送任务。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2777127.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 06 Aug 2008 23:43:00 +0800</pubDate><author>heyang78</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/06/2777127.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/06/2777127.aspx</guid><dc:creator>heyang78</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/06/2777127.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393836/5471761</fs:itemid></item><item><title>JavaMail邮件发送实用类</title><link>http://blog.csdn.net/heyang78/archive/2008/08/06/2776732.aspx</link><wfw:comment>http://blog.csdn.net/heyang78/comments/2776732.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/heyang78/comments/commentRss/2776732.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2776732</trackback:ping><description>在Web开发中，文本邮件发送的任务比较常见，我们可以利用它进行一些客户通知和异常通知，文本邮件发送一般用到JavaMail API，下面是一个我有时用到的邮件发送实用工具类，把其中一些参数修改一下就能为你所用。&lt;img src =&quot;http://blog.csdn.net/heyang78/aggbug/2776732.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 06 Aug 2008 22:52:00 +0800</pubDate><author>何杨</author><comments>http://blog.csdn.net/heyang78/archive/2008/08/06/2776732.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/heyang78/archive/2008/08/06/2776732.aspx</guid><dc:creator>何杨</dc:creator><fs:srclink>http://blog.csdn.net/heyang78/archive/2008/08/06/2776732.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/heyang78/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/heyang78/~7362255/207393837/5471761</fs:itemid></item></channel></rss>