关于Spring的几点思考


前几天看网上有一段讨论,说的是Spring能给企业带来什么。

我是一个初学编程的人,有幸在第一个项目中参与框架的搭建,从那时起,对Spring有了初步的了解,只有一个感觉,就是过于麻烦,配置文件多、层次多,弄得一阵一阵的晕。

快一年的时间过去了,有幸在自己的第二个项目中主导技术框架搭建,再次选择了Spring+Sturts的方式。在看那篇文章之前,我也从来没有想过我为什么要用Spring,我也没有想过Spring能给开发团队带来一些什么。现在第二个项目已经进入系统测试阶段,细细想了想Spring给这个项目带来了什么:

1、 对开发者的技术要求提高了。由于项目来得紧,在项目人员主要来自之前项目组内比较优秀的员工,或者做过类似的Web开发(但那仅限于两层结构),或者Java基础比较好。但是中间真正接触过J2EE N层架构的人不多,导致开发者花了很长的时间还不能把握整个系统的层次结构,这种现象与我自己刚刚开始学习J2EE N层架构一模一样。

2、 使用Spring框架可以促进代码结构的规范化。项目开发的中途,曾经有一名开发者质问我:“为什么要这么麻烦,直接把代码都写在JSP页面里不就完了么?”我同她解释,“如果全部写在JSP页面, JSP页面不但包含了页面控制的代码,还有业务代码,肯定也还会有操作数据库的代码,JSP页面将会变得非常的庞大,以后维护起来是个很费时费力的工作。”由于在表现层使用了Struts,促使表现层的代码结构符合MVC设计模式的思想。表现层的代码与控制代码相分离,并且Struts本身就实现了瘦控制器,局部控制代码的修改不会影响到全局。再结合Spring,将Action实现为业务代理,会是一个很完美的层次结构。

3、 使整个项目的代码层次结构更加清晰。由于使用了Spring,所有的依赖都保存在配置文件中。通过浏览配置文件,就能清楚整个项目的代码层次结构。

4、 总体来说降低了开发难度。SpringJ2EE开发中需要使用到的包提供了支持。比如现在项目中使用到的JavaMail、定时调度、C3P0……通过配置的方式即可使用,个人觉得使用起来特别的方便,并且配置文件都集中在XML文件中,一目了然。

 

疑问:

1、使用Spring+Struts时,如果表现层需要替换另外一个UI,在Struts框架下能够实现最小的代码修改呢?

2、Action实现为业务代理的时候,如何区分业务代理和真正的业务层实现的功能。现在的项目就存在业务代理层功能和业务层功能混淆的情况,导致业务层的代码重用度大大降低。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s