﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-『一只小蚂蚁』的专栏-随笔分类-Spring</title><link>http://www.blogjava.net/qixiangnj/category/22104.html</link><description>&lt;strong&gt;生命不息，拼搏不止。&lt;/strong&gt;</description><language>zh-cn</language><lastBuildDate>Mon, 05 Nov 2007 20:53:58 GMT</lastBuildDate><pubDate>Mon, 05 Nov 2007 20:53:58 GMT</pubDate><ttl>60</ttl><item><title>【翻译】Spring 2.5架构图</title><link>http://www.blogjava.net/qixiangnj/archive/2007/11/05/158330.html</link><dc:creator>Thomas</dc:creator><author>Thomas</author><pubDate>Mon, 05 Nov 2007 11:18:00 GMT</pubDate><guid>http://www.blogjava.net/qixiangnj/archive/2007/11/05/158330.html</guid><wfw:comment>http://www.blogjava.net/qixiangnj/comments/158330.html</wfw:comment><comments>http://www.blogjava.net/qixiangnj/archive/2007/11/05/158330.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qixiangnj/comments/commentRss/158330.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qixiangnj/services/trackbacks/158330.html</trackback:ping><description><![CDATA[我更新了刚刚正式发布的Spring 2.5的架构图。<br />
任何新增的或者改变的包都被高亮显示了（自2.0.6版本之后）。<br />
这是新的<strong>顶层架构图</strong>：<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_01.png" align="left" height="480" width="569" /><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 />
<strong>
org.springframework.aop</strong>:<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_02.png" align="left" height="480" width="242" /><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 />
<strong>
org.springframework.beans</strong>:<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_03.png" align="left" height="287" width="530" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<strong>
org.springframework.jdbc</strong>:<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_04.png" align="left" height="439" width="317" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<strong>
org.springframework.jms</strong>:<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_05.png" align="left" height="317" width="339" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<strong>
org.springframework.orm</strong>:<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_06.png" align="left" height="229" width="527" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<strong>
org.springframework.web</strong>:<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/qixiangnj/27112/r_07.png" align="left" height="358" width="640" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
原文地址：http://chris.headwaysoftware.com/2007/11/spring-25-archi.html<br />
<br />
<img src ="http://www.blogjava.net/qixiangnj/aggbug/158330.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qixiangnj/" target="_blank">Thomas</a> 2007-11-05 19:18 <a href="http://www.blogjava.net/qixiangnj/archive/2007/11/05/158330.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【翻译】不使用Spring的5个理由</title><link>http://www.blogjava.net/qixiangnj/archive/2007/07/05/128445.html</link><dc:creator>Thomas</dc:creator><author>Thomas</author><pubDate>Thu, 05 Jul 2007 14:15:00 GMT</pubDate><guid>http://www.blogjava.net/qixiangnj/archive/2007/07/05/128445.html</guid><wfw:comment>http://www.blogjava.net/qixiangnj/comments/128445.html</wfw:comment><comments>http://www.blogjava.net/qixiangnj/archive/2007/07/05/128445.html#Feedback</comments><slash:comments>25</slash:comments><wfw:commentRss>http://www.blogjava.net/qixiangnj/comments/commentRss/128445.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qixiangnj/services/trackbacks/128445.html</trackback:ping><description><![CDATA[【译者按】这几天，TSS上的一篇热文，讨论者众多，特翻译，水平有限，望多指正。<br><br>原文地址：http://gorif.wordpress.com/2007/07/01/5-reasons-why-i-think-i-will-not-use-spring/<br><br>我不愿使用Spring有几个理由：<br><span style="font-weight: bold;">1. Spring的配置臃肿</span><br>我的项目组在开发一个企业级应用时，使用了依赖注入框架。这个项目中，有1500多个类，并且分散在超过11个的模块里。<br>以我在实际开发中的经验，我们创建出的service对象应该少于依赖他们的其他对象。如果我们使用了Spring框架，当我们创建需要依赖100个service对象的1000个action对象时，这就意味者我们要对这1000个bean做配置工作。<br>如果action的数量还在不断增加，这项工作将变得更加糟糕。我们试图重构一些东西、而又不愿破坏已有的代码，就必须加倍小心。<br>你或许想到了通过类型（byType）来自动绑定，哦？这或许不是一个坏主意。可是，为什么不通过名称(byName)来自动绑定呢？可是如果我们对不同的对象做配置就有不同的名称，这听上去很容易让人糊涂，那样的话，我猜你又得在办公室里度过漫漫长夜了。<br><br><span style="font-weight: bold;">2. XML文件配置痛苦</span><br>XML配置痛苦，这个痛苦不是说编写它有多复杂，更多是指其维护性。<br>如果你有1000个action，你需要对在配置中放置什么和如何放置很清楚，你需要有只鹰般锐利的眼睛，你必须不能忘记在改动XML配置时使用工具来查找和替换，否则，这个应用程序会在产品化的时候崩溃。<br><br><span style="font-weight: bold;">3. 如果使用XML配置，你将弱化Java强类型检查</span><br>当你开始使用XML配置的时候，你将弱化Java的强大。<br>当你幸运地发现注入到bean里的这个对象不是这个bean所需要的，但你必须等待下去直到Spring容器开始启动并且检查依赖关系。在这个时候，你该意识到你犯了个愚蠢的错误。哎！<br>一些配置不使用XML，而使用Java类，在Guice里，你可以使用module。如果我们想要灵活性，我们仍然可以通过分离业务逻辑包到另外的包中来达到这点，并且在核心包中，你只需使用Class.forname(&#8221;the module class&#8221;)。这就是全部所在！<br><br><span style="font-weight: bold;">4. Spring不是轻量级的容器</span><br>不幸地是，Spring不再是轻量级容器。现在，Spring的性能不再是最快的了，已经有很多性能更好的轻量级容器出现了。<br><br><span style="font-weight: bold;">5. Spring是一个希望我们构建松耦合程序的容器</span><br>Spring是一个只是希望我们使用松耦合技术的容器，Spring没有真正地更多关注紧耦合。我非常确定，一旦我们使用除了spring-core.jar的Spring包，这将意味着我们的程序不能离开Spring存活。<br><br> <img src ="http://www.blogjava.net/qixiangnj/aggbug/128445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qixiangnj/" target="_blank">Thomas</a> 2007-07-05 22:15 <a href="http://www.blogjava.net/qixiangnj/archive/2007/07/05/128445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Project Track - a JSF/Spring/Hibernate/Acegi example application</title><link>http://www.blogjava.net/qixiangnj/archive/2007/05/28/120521.html</link><dc:creator>Thomas</dc:creator><author>Thomas</author><pubDate>Mon, 28 May 2007 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/qixiangnj/archive/2007/05/28/120521.html</guid><wfw:comment>http://www.blogjava.net/qixiangnj/comments/120521.html</wfw:comment><comments>http://www.blogjava.net/qixiangnj/archive/2007/05/28/120521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qixiangnj/comments/commentRss/120521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qixiangnj/services/trackbacks/120521.html</trackback:ping><description><![CDATA[<p><span style="font-weight: bold;">http://code.google.com/p/projecttrack/</span><br></p>
<p>The original version of Project Track appeared as the example
application in Kito Mann's JavaServer Faces in Application. Chris
Richardson, author of POJOs in Action, then developed Spring, and
Hibernate backend, integrated Acegi Security, and wrote some Selenium
tests. </p>
<p>The goal is for Project Track to be an example of how to build applications with JSF, Spring, Hibernate, and Acegi Security.<br><br><br># Non-members may check out a read-only working copy anonymously over HTTP.<br>svn checkout <span style="font-weight: bold;">http://projecttrack.googlecode.com/svn/trunk/</span> projecttrack<br><br><br><span style="font-weight: bold;">Links</span>:
</p>
<ul>
    <li><a href="http://www.chrisrichardson.net/kb/projecttrack/ProjectTrackOverview.html" rel="nofollow">Overview of Project Track</a></li>
    <li><a href="http://www.chrisrichardson.net/javaone2007.html" rel="nofollow">JavaOne presentation about Project Track</a></li>
    <li><a href="http://fisheye2.cenqua.com/browse/projecttrack" rel="nofollow">Fisheye view of Project Track</a></li>
</ul>
<p><span style="font-weight: bold;">Groups</span>:
</p>
<ul>
    <li><a href="http://groups.google.com/group/project-track" rel="nofollow">Project Track discussion</a></li>
</ul><img src ="http://www.blogjava.net/qixiangnj/aggbug/120521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qixiangnj/" target="_blank">Thomas</a> 2007-05-28 17:18 <a href="http://www.blogjava.net/qixiangnj/archive/2007/05/28/120521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>