Thursday, March 1, 2007

Spring 2 and JPA

我花了差不多一个星期的时间试图实现"Introduction to Spring 2 and JPA"里的码。可惜仍然有问题。
我停了。有下列原因:
1. 如果使用JPA,必须在Java 1.5以上的环境,而现在多数服务器仍然用Java 1.4。短期内升级不现实。
2. persistence属是EJB 3.0的内容。几年前学EJB2.0时的经验记忆犹新。EJB 3.0虽然感觉上已经简化了很多,可似乎有太多的限制,换句话说,出错的机会太多。而且现在用户说明太少,出错后很难找到答案。

我仍然会仔细的学习Spring 2因为它已经是一个比较成熟的Framework。
数据库层,我觉得我似乎还没有找到一个比较适合的方法。Hibernate和iBATIS似乎都过于麻烦(可他们是那样的流行)。再学吧。

2 comments:

我是谁? said...

最近在看Spring 2。主要在ApplicationContext和Spring DAO。并做了一个小桌面程序。感觉不错。
优点:
1. 由于IoC的缘故,config有一点麻烦,但当维护和升级时,一定会比较方便。现在特别喜欢de-coupling的概念。
2. 虽然没有用复杂的SQL,但Spring DAO给我的感觉仍然很不错。一是码很简洁,二是不用Exception的处理考虑太多。
3. 我想这是每个写码的人的心里话。用Spring技术,尽管码还是Java,可没什么人能看懂你的码。

缺点,
1. 学习时比较花时间。这可能是不是很多人学它的原因之一。
2. 例子少。每一块都需要认真读API。真出了问题,不太容易找到答案。
3. 实现的途径太多,有时不知那个是最好的。比如,是用FileSystemXmlApplicationContext还是ClassPathXmlApplicationContext还是GenericApplicationContext?是用JdbcTemplate还是SimpleJdbcTemplate
还是NamedParameterJdbcTemplate?
4. 整体来说,Spring DAO还是有点麻烦。特别是总是得做RowMapper。另外很难用Map来存储的来的数据(总是List)。无论如何,我还要继续寻找其他的工具。

无论如何,我还是很高兴又进步了一点。

我是谁? said...

花了几个星期学习iBatis。非常满意。
我觉得我可以放弃Spring DAO了。iBatis的Mapping放在了XML文件中,既好用又直观。非常欣赏cache mode和Composite Keys。
唯一的问题是在和Spring结合时,没搞清楚怎样为iBatis设置transaction manager。我需要花一点时间读一下Spring的Transaction文件。
下一步应该是Hibernate了。我已经等了太久了。似乎心里有一点胆怯。
加油!!

我的周末 1/11/2025 - 1/12/2025

星期六 LD要去Facial Treatment,我去8大道买菜,买午饭。 下午出去走了两圈。 把厨房和饭厅的地擦了,鱼缸的水换了。 衣服洗了。   星期天 上午出去走了两圈。应该是跑步的,但嗓子有点紧,还有点咳嗽,小心为上。 出去买了点东西。 下午继续收拾橱柜。 把暖气的通风口...