??xml version="1.0" encoding="utf-8" standalone="yes"?>97在线观看免费,久久青青草原一区二区,亚洲第一av在线http://www.aygfsteel.com/babymouse/category/35788.html努力奋斗——I believe I can flyzh-cnThu, 01 Oct 2009 17:08:47 GMTThu, 01 Oct 2009 17:08:47 GMT60MW记——Flex与Spring && Flex与IOC框架http://www.aygfsteel.com/babymouse/archive/2009/09/30/296987.htmlRobert SuRobert SuWed, 30 Sep 2009 03:49:00 GMThttp://www.aygfsteel.com/babymouse/archive/2009/09/30/296987.htmlhttp://www.aygfsteel.com/babymouse/comments/296987.htmlhttp://www.aygfsteel.com/babymouse/archive/2009/09/30/296987.html#Feedback0http://www.aygfsteel.com/babymouse/comments/commentRss/296987.htmlhttp://www.aygfsteel.com/babymouse/services/trackbacks/296987.html 常用Flex IOC框架比较分析  http://www.infoq.com/cn/articles/ioc-frameworks
Flex ?Spring 框架  http://www.riameeting.com
Spring BlazeDS Integration介与入门 http://www.infoq.com/cn/articles/spring-blazeds-integration

Spring与IOC现在是开发h员的常识了,IOCQInversion of ControlQ也成ؓ软g开发中非常行的一U设计模式?br />

Spring的横I出世完全颠覆了传统Java服务端的开发方式。它鼓励通过依赖注入的方式来装配POJOQ这极大地简化了应用的开发与试?/p> Spring的核心配|是通过Java bean实现的。借助于beanQQ何Javac都能被公开成ؓ服务?br /> IoC是Spring的核心。IoC的作用:
借助IOCQ可用一个独立的对象为其他对象的数据成员填充正确的实玎ͼ而不是由q些对象自己负责此项工作。这样做的好处有两个?br /> W一Q可对象的数据成员 声明为接口,从而将对象与其具体实现分离Q即契约式设计,design by contractQ?br /> W二Q可从对象中删除创徏逻辑Q可以对象的用途更为明?br />
实现Q?br />

一般有两种最常见的对象配|方法:

  • 对象实例化(例如Q?code>var myObject = new Object()Q?/li>
  • 对象查找Q例如:var myObject = registry.getMyObject()Q?/li>

而利用IOCQ你可在一个独立层中实例化应用E序要用到的对象Qƈ传入它们所需的依赖。具体来_最常见的实现方法也有两U:

  • Setter注入Q例如:instance.myObject = new Object()Q?/li>
  • Constructor注入Q例如:instance = new Instance( new Object() )Q?/li>

一个IOC框架Q通常由如下三个部分组成:配置、工厂和注入机制?

配置

我们可以在配|中描述对象之间的关pR最常用的配|描q方法是在文件中声明。这L文g有时候也被称Z下文文gQcontext fileQ。也可以用元数据/注释Qmetadata/annotationQ,甚至直接在程序中描述配置?

工厂

工厂负责配置的解析和所有对象的准备工作Q程序一旦运行,可以根据需要取得这些对象?/p>

在经典的Spring框架Q最行的Java IOC框架Q中Q所有对象(我称其ؓ客户对象Q都由IOC容器负责准备Qƈ且它们以接口形式声明自己的依赖。在配置文g中,被声明的依赖都被讄为对应的实现cR?

注入机制

所谓注入机Ӟ是指如何工厂创建的对象实例注入到应用或其他对象?/p>

Spring Web应用而言Q注入方法是通过web.xml来实现的。Spring会监听Web应用上下文的加蝲事gQƈ利用钩子捕获cd载器的行为,从而分dM 需被创建的对象。此后,若有需要,工厂实例化对象Qƈ填充它所需的依赖。当然在向应用返回对象之前,q些依赖本n也可能需要实例化。这个过E即所谓的 “Q将依赖与对象)捆绑在一?#8221;?/p>

在Flex中,cȝ加蝲原理有所不同Q因此捆l方法也׃同。目前有两种ҎQ?/p>

  • 客户对象直接从工厂请求(已捆l好的)对象
  • 利用内置的Flex事g机制Q用于实例化视图Q触发注?/li>
看了一些文章之后发现还是不能够很好的了解Flex IOC框架比如spring Actionscript与Spring BlazeDS Integeration 到底有何不同?br /> 到spring官方|站一看究竟,目前Spring官方|站上有两个目Q?br /> Spring BlazeDS Integration
Spring Ationscript

q两个项目让你在客户端的Actionscript~码中以及服务端的Java~码中,都能够用Spring的各U优UҎ?/p>

两者的不容之处在于

Spring BlazeDS Integeration 允许你在服务端用Spring容器来组l你的代码,l护的你代码依赖。ƈ且,把你的服务通过相应的配|暴露给客户端?/p>

Spring Actionscript则是一个基于Actionscript代码的Ioc容器Q目前还不支持AOPQ?可以让你在客L使用Ioc理依赖注入.


下面分别看下Q首先来探讨下Spring Actionscript以及其它的IoC框架?/p>



Spring ActionScript

  • 框架QSpring ActionScript
  • |站Q?a target="_blank">http://www.herrodius.com/blog/

  • 开发者:Christophe Herreman
  • 版本Q?.71
  • 许可Q开?/li>
  • 配置QXML

Spring ActionScript前n为PranaQ因其成熟度高,成ؓ了一个知名框架?/p>

核心概念

M使用qSpring的Java?NET版本的hQ都会很快熟悉Spring ActionScript。你在运行时加蝲的配|文Ӟ可以l工厂提供够信息,用于实例化被应用h的Q何对象?/p>

基本配置

在标准例子工E中使用Spring ActionScriptQ需如下三个基本步骤Q?/p>

  1. 创徏文gapplication-context.xml
  2. 初始化应用中的工厂对?/li>
  3. 在你的视囑ֱQ或其他M地方Q,Ҏ需要从工厂获得对象以供使用

对象工厂和对象配|?/h3>

在Spring ActionScript中,对象声明在应用可讉K的XML文gQ通常命名为application-context.xmlQ中。此配置文g由XMLApplicationContextQ是ObjectFactory的子c)加蝲?/p>


Spring ActionScript是一个优U的、成熟的、开发活动十分活跃的IOC框架QQ何用qSpring框架的h都熟悉的?/p>

以XML形式声明对象存在一个问题,卛_XML中声明一个类Qƈ且这个类没被包含在SWF中(因ؓ在你的应用中没有对它的直接引用)ӞFlash Player会在q行时抛出异常。其解决办法是创Z个ActionScriptc,声明它对上下文XML的依赖,q将此类包含在应用中?/p>


Parsley

  • 框架QParsley
  • |站Q?a target="_blank">http://www.spicefactory.org/
  • 开发者:Jens Halm
  • 版本Q?.0.0
  • 许可Q开?/li>
  • 配置QXML/MXML/ActionScript

Parsley也是一个成熟的IOC框架Q最初灵感来源于Spring。它q期l历q一ơ较大规模的重写。新版本支持一些本地FlexҎ,如绑定和元数据,使你在配|你的工E时有更多更好的选择?/p>

核心概念

Parsley的核心概忉|源自于Spring的上下文Q也卛_用的依赖注入的配|?/p>

Parsley的配|现在支持多UŞ式,其中包括XML和MXML。你可以使用本地的MXML标记或Parsley库提供的自定义MXML标签。Parsley使用元数据标{֮现对注入机制的支持,q和Swiz框架是类似的?/p>

Parsleyq支持消息模式。基本不需代码q预Q你p你的对象配|ؓ事g源或事g处理器。在q个例子中,我会用这个特性替代Controller模式?/p>

基本配置

Parsley的配|分三个基本步骤Q?/p>

  1. 创徏Config.mxml文g?/li>
  2. 在应用的栚w初始化一个Context对象?/li>
  3. 在你的视图中Q用Inject元数据实C赖的注入?/li>

准备配置文g的方法有多种Q不q在q个例子中,我用支持本地标记和Parsley标签的MXML文g。这U方法的好处是在~译时就类引入Q当然这样一来,也就不能直接修改已被~译的应用的配置了?/p>

对象工厂和对象配|?/h3>

在Config.mxml中,你能看到应用中用到的从域模型C理的所有对象。声明这些对象的方式有两U:

  1. 标准的MXML
  2. 使用Parsley的对象定义标{?/li>

在后面的内容中,我将详细介绍q种Ҏ?/p>

ȝ

l过其他一些框架的不断启发Q新版本的Parsley已发展成Z个完整的IOC框架。它q支持模块式开发和上下文卸载。在模块化Flex应用开发日益盛行的今天Q这无疑是一个十分重要的Ҏ?br />

Spring BlazeDS Integration
其目标是Q开发者可以利用Spring开发模型通过Adobe Flex、BlazeDS、Spring以及Java技术创建RIA。这h们就可以通过BlazeDS公开Spring理的服务而无需额外的配|文 件。其优势在于Spring的易用性与Flex、BlazeDS以及Java整合h以共同创建应用?br /> Spring的核心配|是通过Java bean实现的。借助于beanQQ何Javac都能被公开成ؓ服务?br />
Z这些bean公开成ؓFlex客户端所用的q程服务QIntegration目采用了Spring Web MVC。Spring Web MVCDispatcherServlet作ؓ一个中央分发器Q用以处理Q何类型的HTTPh或是ZHTTP的远E服务。我们可以通过相同? JavaBean配置方式来配|该DispatcherServlet以将h转发l相应的处理器进行后l处理?br />



Robert Su 2009-09-30 11:49 发表评论
]]>
阉K巴巴校园招聘W试?/title><link>http://www.aygfsteel.com/babymouse/archive/2009/09/26/296569.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Sat, 26 Sep 2009 10:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2009/09/26/296569.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/296569.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2009/09/26/296569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/296569.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/296569.html</trackback:ping><description><![CDATA[<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 id="Codehighlighter1_29_123_Open_Image" onclick="this.style.display='none'; Codehighlighter1_29_123_Open_Text.style.display='none'; Codehighlighter1_29_123_Closed_Image.style.display='inline'; Codehighlighter1_29_123_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_29_123_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_29_123_Closed_Text.style.display='none'; Codehighlighter1_29_123_Open_Image.style.display='inline'; Codehighlighter1_29_123_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> B </span><span style="color: #0000ff">extends</span><span style="color: #000000"> Object</span><span id="Codehighlighter1_29_123_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_39_71_Open_Image" onclick="this.style.display='none'; Codehighlighter1_39_71_Open_Text.style.display='none'; Codehighlighter1_39_71_Closed_Image.style.display='inline'; Codehighlighter1_39_71_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_39_71_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_39_71_Closed_Text.style.display='none'; Codehighlighter1_39_71_Open_Image.style.display='inline'; Codehighlighter1_39_71_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="color: #0000ff">static</span><span id="Codehighlighter1_39_71_Open_Text"><span style="color: #000000">{System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Load B</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_84_121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_84_121_Open_Text.style.display='none'; Codehighlighter1_84_121_Closed_Image.style.display='inline'; Codehighlighter1_84_121_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_84_121_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_84_121_Closed_Text.style.display='none'; Codehighlighter1_84_121_Open_Image.style.display='inline'; Codehighlighter1_84_121_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> B()</span><span id="Codehighlighter1_84_121_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Create B</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_149_246_Open_Image" onclick="this.style.display='none'; Codehighlighter1_149_246_Open_Text.style.display='none'; Codehighlighter1_149_246_Closed_Image.style.display='inline'; Codehighlighter1_149_246_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_149_246_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_149_246_Closed_Text.style.display='none'; Codehighlighter1_149_246_Open_Image.style.display='inline'; Codehighlighter1_149_246_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> A </span><span style="color: #0000ff">extends</span><span style="color: #000000"> B</span><span id="Codehighlighter1_149_246_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_159_194_Open_Image" onclick="this.style.display='none'; Codehighlighter1_159_194_Open_Text.style.display='none'; Codehighlighter1_159_194_Closed_Image.style.display='inline'; Codehighlighter1_159_194_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_159_194_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_159_194_Closed_Text.style.display='none'; Codehighlighter1_159_194_Open_Image.style.display='inline'; Codehighlighter1_159_194_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span id="Codehighlighter1_159_194_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Load A</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_207_244_Open_Image" onclick="this.style.display='none'; Codehighlighter1_207_244_Open_Text.style.display='none'; Codehighlighter1_207_244_Closed_Image.style.display='inline'; Codehighlighter1_207_244_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_207_244_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_207_244_Closed_Text.style.display='none'; Codehighlighter1_207_244_Open_Image.style.display='inline'; Codehighlighter1_207_244_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> A()</span><span id="Codehighlighter1_207_244_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Create A</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_271_329_Open_Image" onclick="this.style.display='none'; Codehighlighter1_271_329_Open_Text.style.display='none'; Codehighlighter1_271_329_Closed_Image.style.display='inline'; Codehighlighter1_271_329_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_271_329_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_271_329_Closed_Text.style.display='none'; Codehighlighter1_271_329_Open_Image.style.display='inline'; Codehighlighter1_271_329_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> testClass </span><span id="Codehighlighter1_271_329_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_312_326_Open_Image" onclick="this.style.display='none'; Codehighlighter1_312_326_Open_Text.style.display='none'; Codehighlighter1_312_326_Closed_Image.style.display='inline'; Codehighlighter1_312_326_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_312_326_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_312_326_Closed_Text.style.display='none'; Codehighlighter1_312_326_Open_Image.style.display='inline'; Codehighlighter1_312_326_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args)</span><span id="Codehighlighter1_312_326_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">new</span><span style="color: #000000"> A();<br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div> 写出E序q行l果Q?br /> <br /> <p>Load B<br /> Load A<br /> Create B<br /> Create A<br /> <br /> Ƣ迎大家留言发散讨论</p> <img src ="http://www.aygfsteel.com/babymouse/aggbug/296569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2009-09-26 18:38 <a href="http://www.aygfsteel.com/babymouse/archive/2009/09/26/296569.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate怎样获取其用Oracle sequence自动生成的主?/title><link>http://www.aygfsteel.com/babymouse/archive/2009/03/11/259082.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Wed, 11 Mar 2009 05:49:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2009/03/11/259082.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/259082.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2009/03/11/259082.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/259082.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/259082.html</trackback:ping><description><![CDATA[<p>CaseQ?br /> action需要同时向两张表中d数据<br /> 比如一个是class 一个是video<br /> 每次都是一对多的关p~每一ơ插入的Video的classID是相同的<br /> <br /> video表中有个字段是classId 对应的是的class中的主键   ID<br /> <br /> ID是sequence生成?br /> 那我扚w插入video的时候怎样获取class_ID_sequence生成的id值呢Q?br /> <br /> 思\Q?br /> 我观察到Hibernate做插入的时候每ơ插入记录的时候会首先查询sequence<br /> <br /> select CLASS_ID_SEQ.nextval from dual<br /> 那怎样获取到这个select的值呢Q?br /> <br /> 获取到这个值可以直接给<br /> video.setClassID(classID)<br /> <br /> 请大家讨论ƈ指教~</p> ***************整理如下*******************<br /> 执行完这句sql语句select CLASS_ID_SEQ.nextval from dual之后Qclassq个对象已经执行qsetIdҎQ所以当前它的id值可以获得getIdҎ得到Q?br /> 可以直接在在actionq样?br /> Long id=class.getId();<br /> <br /> <br /> 感谢隔叶黄莺 <img src ="http://www.aygfsteel.com/babymouse/aggbug/259082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2009-03-11 13:49 <a href="http://www.aygfsteel.com/babymouse/archive/2009/03/11/259082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts如何接收客户端发送过来的数组http://www.aygfsteel.com/babymouse/archive/2009/03/04/257802.htmlRobert SuRobert SuWed, 04 Mar 2009 07:36:00 GMThttp://www.aygfsteel.com/babymouse/archive/2009/03/04/257802.htmlhttp://www.aygfsteel.com/babymouse/comments/257802.htmlhttp://www.aygfsteel.com/babymouse/archive/2009/03/04/257802.html#Feedback1http://www.aygfsteel.com/babymouse/comments/commentRss/257802.htmlhttp://www.aygfsteel.com/babymouse/services/trackbacks/257802.html
deleteIdQ["3161104","3160521","1465591"]

那我在action中的deleteId该定义成何种cd才能正常接收呢?

问题解决了,在action中定义成List<String>
可?/pre>


Robert Su 2009-03-04 15:36 发表评论
]]>两个Long的比?/title><link>http://www.aygfsteel.com/babymouse/archive/2009/02/10/254045.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Tue, 10 Feb 2009 04:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2009/02/10/254045.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/254045.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2009/02/10/254045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/254045.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/254045.html</trackback:ping><description><![CDATA[今天遇到一个容易忽略的问题Q是两个Longcd的比较~~<br /> <br /> if (v.getId() == ids[i]){<br />                       ……<br />                     }<br /> <br /> getId()中返回值是Long id<br /> ids定义是Long[] ids<br /> <br /> 但是q里v.getId() == ids[i]一直不为真Q导致程序输出结果有?br /> <br /> 应该如下Q?br /> <br /> <span style="color: #0010ff;"></span>if (v.getId().<span style="background-color: yellow;"><span style="background-color: yellow;"><span style="background-color: yellow;">longValue</span>() </span></span>== ids[i].<span style="background-color: yellow;"><span style="background-color: yellow;"><span style="background-color: yellow;">longValue</span>()</span></span>){……} <img src ="http://www.aygfsteel.com/babymouse/aggbug/254045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2009-02-10 12:18 <a href="http://www.aygfsteel.com/babymouse/archive/2009/02/10/254045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>依赖注入~~同一个错误犯两遍是煞笔http://www.aygfsteel.com/babymouse/archive/2008/12/29/248954.htmlRobert SuRobert SuMon, 29 Dec 2008 09:14:00 GMThttp://www.aygfsteel.com/babymouse/archive/2008/12/29/248954.htmlhttp://www.aygfsteel.com/babymouse/comments/248954.htmlhttp://www.aygfsteel.com/babymouse/archive/2008/12/29/248954.html#Feedback0http://www.aygfsteel.com/babymouse/comments/commentRss/248954.htmlhttp://www.aygfsteel.com/babymouse/services/trackbacks/248954.html org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RssService' defined in ServletContext resource
 [/WEB-INF/vbm_dao.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException:
 Invalid property 'rssDao' of bean class [gov.ict.mcg.vbm.services.impl.RssServiceImpl]: Bean property 'rssDao'
 is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'rssDao' of bean class
[gov.ict.mcg.vbm.services.impl.RssServiceImpl]: Bean property 'rssDao' is not writable or has an invalid setter method.
 Does the parameter type of the setter match the return type of the getter?
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:793)


原因Q?br /> RssServiceImplcM忘记ddao的get setҎ~~~


Robert Su 2008-12-29 17:14 发表评论
]]>
Eclipse3.2安装WTP提示需?.4lg得解军_?/title><link>http://www.aygfsteel.com/babymouse/archive/2008/12/26/248396.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Fri, 26 Dec 2008 03:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2008/12/26/248396.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/248396.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2008/12/26/248396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/248396.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/248396.html</trackback:ping><description><![CDATA[Eclipse3.2装WTP时提C我需要需?.4的功能组?<br /> 直接download~~~eclipse-jee-ganymede-win32.zip<br /> 可以了<br /> <img src ="http://www.aygfsteel.com/babymouse/aggbug/248396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2008-12-26 11:09 <a href="http://www.aygfsteel.com/babymouse/archive/2008/12/26/248396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cosmos框架http://www.aygfsteel.com/babymouse/archive/2008/12/18/247166.htmlRobert SuRobert SuThu, 18 Dec 2008 08:56:00 GMThttp://www.aygfsteel.com/babymouse/archive/2008/12/18/247166.htmlhttp://www.aygfsteel.com/babymouse/comments/247166.htmlhttp://www.aygfsteel.com/babymouse/archive/2008/12/18/247166.html#Feedback0http://www.aygfsteel.com/babymouse/comments/commentRss/247166.htmlhttp://www.aygfsteel.com/babymouse/services/trackbacks/247166.html
׃框架摒弃了Hibernate的O/R Mapping工具Q因此有一个比较大的问题就是关于数据库UL性的问题Q但是,Ҏ公司对于中小目的经验,一旦客戯UL数据库,几乎需要重新实C务逻辑了,因此Q对于中项目来_q是一个不错的选择?br />
—————?br /> 官方介绍Q?br />

cosmos框架 是一个对于底层数据库、Web服务、JNDI{进行统一界面装的框Ӟ提供l一的调用接口,q用命令设计模式,所有需要调用的命o攄到数据库Q或 者其他域Q中去,从而可以改变传l的j2ee应用调试的流E:开?部v-试或者开?部v-重新启动-试Q达到像PHP、PERL那样的开? ->试的模式。有效地提高了开发速度?

׃其抛弃了所有的中间层次Q包括像Struts、Spring、Hibernateq样的框Ӟ调用数据库应用直接用JDBC的方式进行,因此有效地提高了q行性能? ׃开发的代码可以完全攄到数据库中,因此Q可以比较容易地实现׃n开发,从而有效地调动起开发h员的U极性? 在cosmos框架中开发一个数据库应用的流E是Q开发SQL语句或者存储过E或者函敎ͼ然后开发JSP面q行展示Q最后测试结果。完全地省略了开发Java代码的过E,因此Q有效地提高了开发速度? cosmos框架是一个能有效地应用于中小目的框Ӟ可以供开发h员快速徏立原型,从而实现敏捷开发的目的? 在框架中q包括权限和认证的部分框Ӟ因此Q用户可以简单地实现用户认证和系l权限的功能?


http://code.google.com/p/cosmos4j/


Robert Su 2008-12-18 16:56 发表评论
]]>
数据库烦引问?/title><link>http://www.aygfsteel.com/babymouse/archive/2008/12/09/245193.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Tue, 09 Dec 2008 03:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2008/12/09/245193.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/245193.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2008/12/09/245193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/245193.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/245193.html</trackback:ping><description><![CDATA[今天数据库直接超q?GQ查了下原来是烦引问题,一个烦引占?G大小~~<br /> <img src ="http://www.aygfsteel.com/babymouse/aggbug/245193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2008-12-09 11:53 <a href="http://www.aygfsteel.com/babymouse/archive/2008/12/09/245193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>前端pȝ-备忘1http://www.aygfsteel.com/babymouse/archive/2008/12/08/244976.htmlRobert SuRobert SuMon, 08 Dec 2008 03:18:00 GMThttp://www.aygfsteel.com/babymouse/archive/2008/12/08/244976.htmlhttp://www.aygfsteel.com/babymouse/comments/244976.htmlhttp://www.aygfsteel.com/babymouse/archive/2008/12/08/244976.html#Feedback0http://www.aygfsteel.com/babymouse/comments/commentRss/244976.htmlhttp://www.aygfsteel.com/babymouse/services/trackbacks/244976.html 

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
 <display-name>pȝ</display-name>
 <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>/WEB-INF/log4j.properties</param-value>
 </context-param>
 <!-- ContextConfigLocation -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/vbm_action.xml,/WEB-INF/vbm_hibernate.xml,/WEB-INF/vbm_dao.xml</param-value>
 </context-param>

 <!-- 著名 Character Encoding filter -->

 <filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
 </filter>
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>struts-default.xml,struts-plugin.xml,struts.xml,struts_books.xml</param-value>
  </init-param>
 </filter>

 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <!-- 加入jpaFilterQ是Z不让hibernate的sessionq早关闭Q因为有的action会通过ajax动态调?-->
 <filter>
  <filter-name>jpaFilter</filter-name>
  <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
  <init-param>
   <param-name>entityManagerFactory</param-name>
   <param-value>entityManagerFactory</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>jpaFilter</filter-name>
  <url-pattern>*.htm</url-pattern>
 </filter-mapping>
 <!-- Listener contextConfigLocation -->
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- Listener log4jConfigLocation -->
 <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>
 <!-- Spring hIntrospector防止内存泄露 -->
 <listener>
  <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
 </listener>
 <!-- session时定义,单位为分?-->
 <session-config>
  <session-timeout>10</session-timeout>
 </session-config>
 <!-- The Welcome File List -->
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
 </welcome-file-list>
</web-app>



Robert Su 2008-12-08 11:18 发表评论
]]>
开发遇到问?1http://www.aygfsteel.com/babymouse/archive/2008/11/25/242505.htmlRobert SuRobert SuTue, 25 Nov 2008 04:31:00 GMThttp://www.aygfsteel.com/babymouse/archive/2008/11/25/242505.htmlhttp://www.aygfsteel.com/babymouse/comments/242505.htmlhttp://www.aygfsteel.com/babymouse/archive/2008/11/25/242505.html#Feedback0http://www.aygfsteel.com/babymouse/comments/commentRss/242505.htmlhttp://www.aygfsteel.com/babymouse/services/trackbacks/242505.htmlpȝ爬虫部分已经相当完善了,现在开始做前段开发,html+avaScript+spring+Hibernate
ExtJS其实q是很强大,感觉有种webservice~程的感?/p>

今天MyEclipse中可以连到数据库上,q且可以昄各个表,可是写个Junit test 抛出异常
Javava.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
JUnit控制台输出是q样?br />

Could not connect to:  : 11716            
java.net.SocketException: Unrecognized Windows Sockets error: 
10106: create
    at java.net.Socket.createImpl(Unknown Source)
    at java.net.Socket.
<init>(Unknown Source)
    at java.net.Socket.
<init>(Unknown Source)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.connect(RemoteTestRunner.java:
560)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
377)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
196)



奇怪的是我用笔记本写个试q接没问题Q?br /> 不知道是MyeclipseZ问题q是pȝZ问题Q之前装各种服务器把pȝ搞的有点毛病Q?br /> 希望q里有高人看Cl指点下q个问题原因在哪里~弟先谢q?br />



Robert Su 2008-11-25 12:31 发表评论
]]>
计算CPU利用?/title><link>http://www.aygfsteel.com/babymouse/archive/2008/11/11/239906.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Tue, 11 Nov 2008 08:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2008/11/11/239906.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/239906.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2008/11/11/239906.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/239906.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/239906.html</trackback:ping><description><![CDATA[<font style="background-color: #cce8cf"> 计算CPU利用率:<br />   1,   取出pȝ中CPU个数Q?nbsp;    <br />   2,   取出当前pȝ旉QTicks个数Q,减去原来保存的系l时_得出从上ơ取值到目前的系l时间差Q?nbsp;    <br />   3,   取出pȝ当前I闲旉Q减d来保存的I闲旉Q得个时间段I闲旉     <br />   4,   用这个时间段I闲旉除以pȝ旉Q得D|间系l的CPUI闲?nbsp;    <br />   5,   ?00-(pȝ的空闲率)/(CPU个数)所得的值就是CPU占有?nbsp;    <br /> <br /> <br />     请问q个法是否适用于多处理器情况?<br />     是否直接除以CPU个数ok了?<br /> </font> <img src ="http://www.aygfsteel.com/babymouse/aggbug/239906.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2008-11-11 16:36 <a href="http://www.aygfsteel.com/babymouse/archive/2008/11/11/239906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java与python的效率比较思?/title><link>http://www.aygfsteel.com/babymouse/archive/2008/11/08/239352.html</link><dc:creator>Robert Su</dc:creator><author>Robert Su</author><pubDate>Fri, 07 Nov 2008 16:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/babymouse/archive/2008/11/08/239352.html</guid><wfw:comment>http://www.aygfsteel.com/babymouse/comments/239352.html</wfw:comment><comments>http://www.aygfsteel.com/babymouse/archive/2008/11/08/239352.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/babymouse/comments/commentRss/239352.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/babymouse/services/trackbacks/239352.html</trackback:ping><description><![CDATA[java是一U解析性的语言Q可是多了一个中间步骤,是把源代码~译成class文gQ不q此~译非编译器的编译,因ؓclass里面不是机器语言或汇~语aQ而是l过~码?位字节二q制。JVM是java的解析器?br /> <br /> python是一门地地道道的解析型语a?br /> 它们之间的效率谁更高呢?<br /> <br /> 大头 23:56:14<br /> “如果相同功能的class和pythonQclass执行要快Q因为class已经全部译好了Qpythonq要一句一句解析?#8221;<br /> <br /> Java多了~译成class的过E,所以效率相对于python要慢一些?br /> <br /> 事实上python也可以生class一L东西<br /> 字节~译?pyc文g<br /> “输入一个模块相Ҏ说是一个比较费时的事情Q所以Python做了一些技巧,以便使输入模块更加快一些。一U方法是创徏 字节~译的文?Q这些文件以.pyc作ؓ扩展名。字节编译的文g与Python变换E序的中间状态有养I是否q记得Python如何工作的介l?Q。当你在下次从别的程序输入这个模块的时候,.pyc文g是十分有用的——它会快得多Q因Z部分输入模块所需的处理已l完成了。另外,q些字节~译的文件也是与q_无关的。所以,现在你知道了那些.pyc文g事实上是什么了?#8221;——《python明教E?br /> <br /> <br /> Q烦h白的看到了错误之处给指正Q)<br /> <br /> 附:<br /> ~译型语aQ执行速度快、效率高Q依赖编译器、跨q_性差些。如C、C++、Delphi、PascalQFortran?br /> 解释型语aQ执行速度慢、效率低Q依赖解释器、跨q_性好。如Java、Basic.<br /> <img src ="http://www.aygfsteel.com/babymouse/aggbug/239352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/babymouse/" target="_blank">Robert Su</a> 2008-11-08 00:16 <a href="http://www.aygfsteel.com/babymouse/archive/2008/11/08/239352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯ¥</a>| <a href="http://" target="_blank">ػʵ</a>| <a href="http://" target="_blank">μ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">߰</a>| <a href="http://" target="_blank">ұ</a>| <a href="http://" target="_blank">Ľ</a>| <a href="http://" target="_blank">֦</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¬</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">䶨</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">º</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¸</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³ľ</a>| <a href="http://" target="_blank">ݳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⿪</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>