关于事务的满脑袋酱子,解惑:本地、JTA、CMT

传统上J2EE有两种事务管理策略:全局或者本地事务
全局的由app server保证,如JTA。而本地则是针对某种资源的,如JDBC连接的事务。
其中,全局事务是为了保证多种事务资源的共同工作。但是如果是用本地的事务,则容器(app server)无法保证跨资源的事务。
JTA是一种全局的事务。但是JTA是笨重的,且JTA的事务一般需要通过JNDI获得,所以JNDI和JTA一般联用。而且JTA代码一般不能跨App server,会受限于某种特定的容器。
所以更好的方式是使用EJB CMT(Container Managed Transaction),它的特点是使用声明性事务,而不是编码事务管理。
所以,虽然EJB天然结合了JNDI,但是并不受限于容器(声明性)。
但是CMT又依赖于JTA和App server环境(或者说支持EJB的App server,Tomcat这些Servlet容器就不行啦)。所以这种事务如果依赖于EJB或者EJB的装饰封装则要花不少资本投资App server(不是钱也至少要人,如JBoss)。
但是,我们还有更好的选择,如Spring,或者很多Aop实现,EJB3等等。
而本地的事务策略虽然实现容易,但是缺点显著。它不能在多资源间实现事务支持,并且这种事务对变成模型的侵入也很大(传统JDBC事务使用起来就是这样)。而且如JDBC连接也不能与其他JTA事务协同被管理。如你的JDBC和某个其它事务绑定(如两个JDBC Connection)起来,如果遇到一个失败你如何将两个rollback?(这个是我自己演绎的)
下面是广告:
Spring解决了这个问题。它提供了一个持续的模型,可以应用在大多数环境。也就是说你可以灵活的更换它支持的各种事务策略(你也可以自己扩展)。而且Spring两种方式的事务都支持(声明/编码),当然Spring推荐使用声明的(侵入小,灵活)。

MB,本来写了不少体会,结果倒霉没有保存,如果有时间我再考虑一下是否重写吧,损失惨重!

我不再让你孤单

很少去KaraOK的,但是每次去的时候都回唱这首歌。
因为我实际唱得出的歌没有那么几首,这首很久之前我就非常喜欢,就好像是我自己要说的话。现在我很喜欢给她唱这首歌,因为看着她的脸唱这首深情的歌,就好像在念一首诗。
在她的朋友面前唱过这首歌,看着我唱歌时他们投降她的羡慕的目光,我心里也是暖暖的,因为这本就是应该献给你的——我最爱的宝贝!
她经常夸奖我大声唱时很感人,她说我唱的很好听。也许我不优雅的嗓子适合唱陈升这种Blackguard的歌吧。
甜蜜的时间是没有尽头的,当然这需要学会Free,虽然我不Free,但很大的时间我却可以体会到那种甜蜜,简单的满足。
所以,当今天我在一词听这首歌的时候,哼起它:
让我轻轻的吻着你的脸
擦干你伤心的眼泪
让你知道 在孤单的时候
还有一个我 陪着你
让我轻轻的对着你歌唱
像是吹在草原上的风
只想静静听你呼吸
紧紧拥抱你 到天明
路遥远 我们一起走
我要飞翔在你每个彩色的梦中
陪着你
我从遥远的地方来看你
要说许多的故事给你听
我最喜欢看你胡乱说话的模样 逗我笑
尽管有天我们会变老
老得可能都模糊了眼睛
但是我要写出人间最美丽的歌 送给你
路遥远 我们一起走
我要飞翔在你每个彩色的梦中
对你说 我爱你
WOO……
我不再让你孤单 我的风霜你的单纯
我不再让你孤单 一起走到地老天荒
我不再让你孤单 我的疯狂你的天真
我不再让你孤单 一起走到地老天荒
路遥远 路遥远
我不再让你孤单
所以,宝贝,我不再让你孤单!

实验Webwork2.2与Spring的Auto-wire (2)

太长了,这是下半部分。

我做了一下小实验,以Webwork2的样例程序为例:

原先只在xwork.xml总进行了配置,Spring配置中无该bean

<action

name="main" class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory">

<result name="success">/category-main.jsp</result>

</action>

1、 使用byType方式:这个没什么可说,只要类一样自动就可以匹配,并使用。

添加了Spring中的配置:

<bean id="main_action"

class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory"

singleton="false" />

2、 使用byName方式:在Spring中配置id=”xxx”,然后再xwork中配置name=”xxx”,可以自动匹配,可以使用。

修改了Spring配置如下:

<bean id="main"

class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory"

singleton="false" />

3、 然后删除xwork.xml配置中的class=”com.xxx.xxx”class=””,依然可以工作。

修改了xwork.xml配置如下:

<action name="main" class="">

<result name="success">/category-main.jsp</result>

</action>

4、 然后再实验使用Springbeanname属性进行匹配,依然工作正常。

修改了Spring配置如下:

<bean id="main1" name="main"

class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory"

singleton="false" />

所以,看起来nameid都可以用来auto-wire,所以id如果可以区分,用它来auto-wire就可以了,比较方便。

不过我个人有个疑问,在Spring中声明action是否要生明singleton=”false”?按理说应该false吧,可是我看例子中都没有声明。我记得Spring默认是singleton=”true”的,这是为什么?

实验Webwork2.2与Spring的Auto-wire(1)

前几天看到BJUG的朋友说最近大家都不写技术Blog了,我实在是没看什么东西,今天正好要搞Webwork2+Spring,体验了一下新版本的集成,做了点翻译,还顺道作了点小实验。

基于Spring 1.2.5 + Webwork 2.2 Beta3

1、中文参考是飞云小侠的——《WebWork2.2中结合Spring:"新的方式"》:

http://www.jscud.com/srun/news/viewhtml/4_2005_9/134.htm

2、英文参考是WebworkConflunce上的文章(不好意思,基本上是翻译这篇文章):

Enabling Spring Integration

http://wiki.opensymphony.com/display/WW/Spring

3Other Spring Integration

http://wiki.opensymphony.com/display/WW/Other+Spring+Integration

其中:

webwork.properties中通过这条设置打开SpringObjectFactory

webwork.objectFactory = spring

而修改autoWire的工作方式则通过这个设置:

webwork.objectFactory.spring.autoWire = type

autoWire其实就是webwork寻找Spring已经创建的bean的方式,有如下四种方式可以设置:

name

通过对Spring中的beanname与你程序中的actionname属性进行匹配。系统默认使用这种方式(如果不写上面那句的话)。

type

通过在Spring中注册的bean中寻找与你程序中的actionname相同的属性来匹配。这需要保证Spring中一个类只能注册一次(即不允许部同名但同类的Spring配置)

auto

Spring试图自动检查最好的Auto-wire方式。

constructor

Spring会根据constructor的参数来匹配action。(webwork这里没有作更多说明,根据Spring的规则,这种方式应该与type类似,只不过这里不是匹配setter,而是匹配constuctor的参数。)

其实,看看Spring的相关书籍,其实这就是Spring的四种Auto-wire方式,分别对应:byNamebyTypeautodetectconstructor。可以参考Pro Spring的第4章的内容“Auto-Wireing Your Beans”。

然后说明了一下方式,配置了auto-wire以后每次都回试图通过Spring来匹配对象实例。如果Spring没有创建这个Bean,那么Webwork会自己创建它。同时,要在web.xml中注册SpringLisener来打开这个功能:

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

这里Webwork提出了一个提示:需要更多的ApplicationContext配置文件么?

如果使用了Spring的标准Listener来结合,那么可以除了aaplicationContext.xml还配置多个xml配置文件。可以通过下面的配置来实现,需要加到web.xml里面。

<!– Context Configuration locations for Spring XML files –>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/applicationContext-*.xml

/WEB-INF/spring-daos.xml

/WEB-INF/spring-actions.xml

</param-value>

</context-param>

这个可以参考Spring文档。

Spring中的配置样例

这里,你可以添加标准的Spring配置文件,在WEB-INF/applicationContext.xml。下面是一个例子:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="autodetect">

<bean id="personManager" class="com.acme.PersonManager"/>

</beans>

从使用内建IoC转移到使用Spring

转移很容易。Spring的配置就如上所述。完成融合,你需要:

1、 将你的components的配置从components.xml适当转移到applicationContext.xml。然后就可以安全的删除components.xml了。

2、 xwork.xml的拦截器栈(interceptor stack)中移除Component Interceptor。虽然不移除也无伤大雅,但是留下它已经是个冗余了。

Session ScopeSpring

Spring目前不支持session scoped components。不过计划在Spring 1.3 release中整合该功能。现在,你必须使用Spring Session Componnets Workarounds

Spring中初始化Actions

一般,xwork.xml指明了每个Actions的具体类。当使用SpringObjectFacotry(如上面配置的过程),意味着将通过Spring来创建action,然后来组装(wire)他们之间的依赖,根据设定的auto-wire行为。SpringObjectFactory将会应用所有的预处理工作,例如代理你的action的事物(transactions)、安全(security)、等等。这样不需要明确配置,Spring会自动装配它们。大部分应用中,这就是你所要做的全部工作,使你的actions的服务和依赖关系被执行。

我们强烈建议使用声明的方式来让Spring知道你的actions之间的依赖。这包括自动的装配具有相同的name的属性和bean(就是指byNameAuto-wring),或者byTypeAutowire(这种情况下一个类型只能在Spring中注册一次)。或者还可以使用JDK5种的annotations来声明事物或者安全的配置,而不是通过applicationContext.xml,这样你就不需要在所有配置文件来维护它们了。

然而,有时你想让bean通过Spring自动管理。这很有用,例如,如果你想配置复杂的AOP或者Spring支持的技术到beans上,例如Acegi。这样,你需要将所有的配置写到applicationContext.xml里面,然后改变WebWork action中的class属性,使之与Spring中的bean name定义相同,代替原来使用的真实类名。

你的xwork.xml文件中的class属性会改变,就像下面这样:

<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.1.dtd">

<xwork>

<include file="webwork-default.xml"/>

<package name="default" extends="webwork-default">

<action name="foo" class="com.acme.Foo">

<result>foo.ftl</result>

</action>

</package>

<package name="secure" namespace="/secure" extends="default">

<action name="bar" class="bar">

<result>bar.ftl</result>

</action>

</package>

</xwork>

这里,你的SpringapplicationContext.xml中有一个名为“bar”的bean。注意com.acme.Foo这个action不需要修改属性,它会自动autowire的。

记住:这不是必须的。这只在这种情况才必须,你希望覆盖掉已经在Webwork中创建的action,并且需要通过Spring支持但不能自动实决定的拦截器和IoC来装饰它的时候。记住,WebworkSpring继承只是标准的IoC,使用你指定的任何auto-wiring,甚至即使你没有显示的在Spring中映射action。所以一般来说你不需要这样做,但是如果需要的时候你最好知道这是如何实现的。

这段说的不太清楚,可能我翻译的不好。但是我理解它的意思是,可以不用修改class的名字,因为不修改它也会自动应用SpringAOP和其它IoC功能,当然是根据auto-wire的匹配。但是如果需要特别的确定要从Spring中装饰后再使用这个action,那么可以把class的属性修改掉。

倾听的优雅

Free是一种优雅。
如何Free?要做到的太多了,大家都在搜索。倾听能够让你心灵Free的修炼,类似一种禅。
引用如下:
倾听才能观察,实际观察你的心,它正在面对存在这个非常复杂的问题。不要去解释,以去解释你就不能倾听。倾听是一种专注的行动,在其中没有解释、没有比较——记得你读过的东西,而且和正再说的事比较,或和你自己的经验比较。那些都是分心。没有反抗的倾听,不要试着去寻找出答案,因为答案并不能解决问题。真正能完全解决问题的是,能够在没有意思到观察者的情形下观察,只要观察就可以了,而观察着只是过去的经验、记忆和知识。
本段话引用自 克里希那穆提的《爱与寂寞》二十一章“人类能否超越哀伤”。

心灵Free之路

《心灵Free之路》是一个老印的一本书,他被称作卓越的心灵导师。
这本书5块。
买它是因为我买了他的另一本《爱与寂寞》,书都是谈话式的,是开导人的,或者说心灵指引,不过说白了是一种对话式的生活哲学,而且深度不深,里面有点印度人的禅的感觉。
为什么看呢?因为我追求一种自我满足,在睡觉前眼睛快要睁不开的时候用这种书来折磨我的精神,哈哈,说笑。其实这本书翻译的一般,里面的很多说法算不上精妙,感觉是想到哪里说道哪里的流水帐,主题并不突出,而且章节非常多。这倒是适合我,每晚看一章节,4、5页而已,做梦的时候也许我会捉摸一下他讲过的问题。
当然“爱与寂寞”本身是因为我对爱和寂寞这个主题感兴趣,这里不展开,不过干想已经很有意思了,大家自己站看,有时间写个专题Blog。
其实对于这位克里希·穆·纳提来说,他的主题其实一直围绕Free这个问题,包括在爱与寂寞中他也多次探讨了。他总是把自己放在对思想自由和对人们的传教的这对矛盾中。
因为,思想要绝对的Free就没法传教,因为绝对的Free就是相当于没有导体的状态,但绝对的自由又应该是完全超导的状态,所以绝对的Free是没法存在的。所以他多次说(靠,我也这么说)自由是与恐惧共存的,爱也是与恐惧共存的。而且,这个观点很有意思,自由与我本身是对矛盾,要想绝对的自由就不能有我。而人的思想就是一种“我”,有了我就有了各种恐惧和对自己的各种束缚,所以就没法Free。
但是,这种想法,或者说人对自己的思想的本质问题的探讨就是不Free的表现。
这是个哲学范畴的问题。但是我是个没有那么高追求的人,我不愿意把这种简单的思想用哲学来形容,我只想简单的生活,但是要追求Free。
看这种书我马上有了自信,因为我感觉原来卓越的心灵导师的论述其实完全自然的存在于我幼小的心灵中,这种感觉让我满足,所以我也就愿意花时间看这种书,而且居然可以一目十行。
呼应我N久前写过的一篇文章,我们要进入我们的Free王国。如何进入我们的Free王国呢?看不到别人的夸奖,不在乎人家的批评,但自己要和自己对话,了解自己所想,判断自己所做,控制自己的情绪,接受别人的情绪,理解别人的思想,这样可以接近Free,因为绝对的Free是不存在的。
所以,用压缩饼干的方法说,上面的一大堆可以总结为:Free=接受+理解+控制=知足
本文不严谨指出请大家谅解,不欢迎拍砖,谢谢合作

上班写Blog是一件很悠闲的事情

一个多月前,那个晚上,我写了一个Blog阐述我忐忑的心情,不知人生向什么方向发展了,同时对马上要工作有一种紧张感。
而后就是进入公司开始干活,发现原来挣钱也不是那么难。
而后就是十一去了沈阳-丹东-东港-本溪,吃了很多好吃的,还游览了不少没去过的地方。给我留下最重要印象的是,我的GF和我在一起真的很快乐,即使在满是乘客的火车上,一个眼神也能给我无比的温暖,这样的旅行虽然说不上丰富多彩,但是却依然经常在梦中重温。
十一回来后的工作就变得越发的繁杂,在公司也基本上熟了,每天喝水上厕所,还有干手底下的活。还好有朋友罩着,没有什么不舒服的,但是比起上学的随心所欲,这样的生活有点机械,我不喜欢,因为我喜欢每天上进。也就是那个谁谁谁说的,每天写Blog的时候会发现收获。
而后,在我们自己的Conflunce上面的打拼也基本上停止了,因为生活变得忙碌,主要是上半之前的一个小时和下班之后的数个小时的时间都非常零散,很难有效率用,所以没有时间看帖子,没有时间学习,没有时间看电影。还好,吃饭和给GF打电话的时间还是有的,否则这种生活就真的不快乐了。
而后,在公司,慢慢的活变多起来了,我也就忙起来了。当我终于接触到公司程序源码的时候,还是吃了一惊,因为使用的框架都很全面,可惜代码非常丑陋,很多地方完全就是反模式,为了麻烦而麻烦,真是想不通。把Struts+Hibernate用成这个样子真是难以理解。还好技术主管让我用自己的技术,只要快就可以。我就偷懒使用了大量JSP+Scriptlet,还好,虽然是去年在用的技术,现在用起来依然很顺手。
其实,最近忙活的事很多。山东有个朋友开网吧,我在北京这边寻价格、找人、定配置,虽然这都是我的老强项了,可是被夹在中间再受资金限制,这些事情运作起来就不那么顺滑了,凭空耗费了大量精力去解除两边的冲突。今天一个朋友评价山东这位朋友“该清楚的地方弄神秘,该通过诚信关系的地方却较真”,弄得我很不好做人。还好,忙活过这几天就好了。
同时,这周发生的最震撼的事情就是,我辞职了。虽然是意料之中,但是还有点留恋,这里离我家很近,可以方便在我爸妈身边,这样很快乐。可是公司改在9:30-18:00的作息时间我不习惯(当然这个并不是主要原因),再说下面的工作要去,这边的工作就要辞。虽然是男孩,但是也应该有点男人的魄力,很顺畅的辞职了。
我的爸爸妈妈对我很支持,他们说只要我快乐,随便我怎样他们都支持我。只是我要离开他们身边一段时间,谁都有点不舍。
GF的爸爸听到我辞职感觉很诧异,感叹现在的年轻人……,哎,我没觉得怎样,没钱怎么生活,如果现在的工作阻碍了我的发展,那么我就应该果断地选择离开,没什么留恋的。工作可以勤换,家人却不会变,他们的爱也不会变!所以换换工作又怎样。
想到上周开始在BJUG的Groups里面跟贴,虽然最近作的技术实践很少,但是眼睛还是盯着技术的发展的,我准备认真的学习一下Webwork,还有Javascript和Ajax,离开这里以后还要继续看。本来在公司一开始每天还有时间学习的,后来忙起来就不行了,我计算了一下,其实是可以的,只要利用好这些时间。
还有,感慨一下,每周在北京拥堵的交通上耗费的时间真多呀,总要赶很远的路去看GF,每次都要赶公车真是很苦,希望以后有个直达的什么什么车。现在花了第一个月工资的两倍办了张浩沙会所健身卡,上周和GF去体验了一下,这样的生活感觉会健康一些。以后有时间很想过去,可是路这么远,再快的车也不是办法呀,所以,终极的解决方案就是结婚。
在这里偷偷和我家宝贝说一声:你愿意嫁给我么?你什么时候嫁给我?什么时候能够不要我受长长的孤单行程的困扰?
嗯,越说越多,我现在很会跑题呀,哈哈哈哈哈哈

全球最具影响力富豪名单公布 Google新贵上榜

北京时间10月9日,英国《金融时报》选出年度全球最具影响力富豪名单,除金钱外,这二十五名富豪的行为、思想及工作方式,都影响了人们的生活。微软主席盖茨蝉联冠军,长和系主席李嘉诚跻身第二十五位。

  1.盖茨(Bill Gates) 49岁

  微软主席 510亿美元

  2.乔布斯(Steve Jobs) 50岁

  苹果电脑行政总裁 30亿美元

  3.奥米耶(Pierre Omidyar) 38岁

  eBay创办人及主席 100亿美元

  4.布林(Sergey Brin)及佩奇(Larry Page) 32岁

  Google创办人 每人110亿美元

  5.默多克(Rupert Murdoch) 74岁

  新闻集团主席兼行政总裁 67亿美元

  6.米高彭博(Michael Bloomberg) 63岁

  彭博财经通讯创办人兼纽约市长 50亿美元

  7.贝鲁斯科尼(Silvio Berlusconi) 69岁

  Fininvest传媒集团创办人兼意大利总理 120亿美元

  8.索罗斯(George Soros) 75岁

  对冲基金经理 72亿美元

  9.Carlos Slim Helu 65岁

  墨西哥电讯界巨头 238亿美元

  10.Azim Premji 60岁

  印度软件公司Wipro主席 93亿美元

  11.米塔尔(Lakshmi Mittal) 55岁

  米塔尔钢铁公司主席 250亿美元

  12.巴菲特(Warren Buffett) 75岁

  Berkshire Hathaway主席、股神 440亿美元

  13.Richard Mellon Scaife 73岁

  美国出版人及右翼政治捐献者 12亿美元

  14.他信(Thaksin Shinawatra) 56岁

  泰国总理 13亿美元

  15.摩尔(Gordon Moore) 76岁

  英特尔荣誉主席 46亿美元

  16.阿布拉莫域(Roman Abramovich) 38岁

  俄罗斯石油大亨兼英超球队车路士班主 133亿美元

  17.特纳(Ted Turner) 66岁

  传媒巨子及慈善家 20亿美元

  18.Bernard Arnault 56岁

  LVMH集团主席及行政总裁 170亿美元

  19.德摩尔(John de Mol) 50岁

  荷兰电视制作人 20亿美元

  20.埃里森(Larry Ellison) 61岁

  甲骨文创办人及行政总裁 170亿美元

  21.戴尔 40岁

  戴尔电脑公司主席 180亿美元

  22.坎普拉德(Ingvar Kamprad) 79岁

  宜家家俬创办人 230亿美元

  23.李健熙 63岁

  三星集团主席 43亿美元

  24.普拉特纳(Hasso Plattner) 61岁

  SAP创办人 50亿美元

  25.李嘉诚 77岁

  长和系主席 130亿美元

来源:新浪

Java有些时候太Free了,也许这种左倾会成为麻烦,所以RoR之风又刮回来了,但是RoR其实也是个右派

恩,十一旅游回来,我们的单位在搬家,不得安宁。
今天抽空看了RoR中的表关系映射(many to one、one to many),使用has_one、belongs_to这样的限定,使用find_all等等那种RoR风格的自动反射的方法,真的很接近于自然语言,轻松舒适,非常优雅,而且节省时间。不过在改写我们的Level2项目的时候,发现需要改造的地方还是很多的,就是因为RoR的这个“约定优于配置”(Convention Over Configuration)的思想,很多地方我们都要手动制造遵从与约定的设计。比如Dish与Dishsort如果要映射,那么Dish里面就要有dishsort_id这样的字段,而不是dishtype……类似的情况很多。我的感想就是,如果系统是纯RoR实现,从头设计,那么用RoR会非常方便,而且可以得到震撼的结果。但是如果是遗留系统修改,或者是混合系统的开发,那么很多时候你就会感觉到约定带来的束缚是多么的不舒服。当初Java和.Net吵闹的时候就有很多JavaUser认为ASP.net里面的约定不爽……所以,我们只能说,Java有些时候太自由了,也许这种左倾会成为麻烦,所以RoR之风又刮回来了,但是RoR其实也是个右派。
真希望我们能走自己的路,自由欢快!

BTW:看看那个Free,中文的这个词还是个禁句,MSN真可怜,被GFW了。

看得到我心在跳,最重要!

哎,不愿意写这个。
我睡得不怎么好,昨天。
首先,我想和她在一起,聊一下天再睡,她就在隔壁。
其次,一个人睡一个屋子,有那么一点冷清,有一点无助,显然我还是个男孩,自己独处会怕黑,所以我开着灯睡。
再,我离我家很远,有一点空。
再,心里有点乱,下午没去参加小学的聚会,看来大家都很快乐,而我却没能和他们相聚,有一点失落。
再,胃里有一点不舒服,吃了太多油腻,吹了点风,有那么一点点泛酸。
而后,怕这个孤独的夜会寂寞、冷清……
当然,以我现在的坚强,这种不快也可以通过心理调节变成一种快乐,我想知道自己的阿Q精神是不是可能有个限度?我一直关这种感觉叫做心理暗示……
又扯远了。其实,心里的空和乱有一点点是因为周一要去上班了。以前已经挣过很多次钱了,但都不是给某个单位打工,而这次要来真的了。
其实这个过程挺奇怪,我没有想到我自己的责任心已经会推动我做体检、准备资料,主动联系,等等。长大看来大多是因为被动原因呀。
不愿说为这个而心乱,但我觉得大部分人要工作前都回觉得有一点乱。没有那么自由的假期了,哎,没什么,以后给GF埋单就不手软了,哈哈。
所以,还是鸵鸟一次,不说这个乱。但是我承认,本篇拉出来的一大堆就是因为这个乱,而已。
然后拉出一位天王——黎明。
标题就来自他的一首歌。
因为我不喜欢他的歌的。但是陪她去个冷的地方却让我突然愿意听听黎明的新专辑《一个故事》。因为专辑选出时说有不少温暖的情歌。说实话黎明的慢情歌就像山楂炖肉,虽然酸但是暖,颤颤巍巍的给你一种羊肚肚毛巾般的舒适。昨晚一个人在床上翻动我的Mp3里面,搜索着黎明新专辑中的歌曲,听听那种以前被窝认为有毒的弱歌,居然能够让胃舒服一点。
其实在我的心中,回响的只有他那句:“听得到你心在跳,最重要!”。我在幻想那个MTV中的那个情节,如果我和她被雪崩埋没,我愿用我的体温在冰雪中溶化出一个世界,只有你我,能够听到心跳!最重要!