学习,以自己的方式证明自己

   这段时间准备要开始搞移动开发方面的项目了,之前开发用的都是Struts2+Spring 2.5+Hibernate3,原本想着用手上的SSH2框架再加上个CXF,就能组建WEBServices访问服务,但是问题出来了,由于CXF采用的是Spring3.X版本,和现在用的2.5版本不兼容,这样问题就大了。

 

    接着去寻找解决方案,网上找了些示例,竟然直接用servlet写的。。我那个郁闷啊。。但想想既然是做过企业级开发的,应该要使用一些前端、稳定的开发框架,对于大型项目开发更有利,后面老师推荐我去学SpringSide,OK,有方向是好的,动手开始做:

 

  首先,发现SpringSide是基于SpringMVC3框架,额。。先去看看SpringMVC3,花了2周时间去研究它,磕磕碰碰也弄出了个像点样的实例出来;嗯,接下来应该可以去弄SpringSide4了吧。

 

   开始查看SpringSide4的项目框架,发现它用的MAVEN来构建项目,好吧。有挑战对程序员来说是好的,得把这个MAVEN拿下来,咱接着又跑去研究maven。。。

 

   研究maven,大概懂了意思,大体是我们平时开发JAVA EE项目要导入七七八八的jar估计几十个,有了maven就可以不用每个项目都导入使用到的包,只要我们在项目中的一个pom.xml里面定义了所需要的jar及版本,运行时就可以自动 的去网络中央库帮我们下载回来,存在我们的电脑一个指定的资源库,以后项目用到了就直接通过pom.xml去资源库中取,并且在平时调试和测试的时候它是不会在项目中包含那些jar的,只有在打包出来的时候才跟着打包出来,想想我们以前开发的JAVA EE项目 10几M的代码 ,20几M的jar。。那个囧啊。

 

   搞完了maven,又有一个新问题,如果开发机不能连上外网呢?(我们工作室的开发机就是这样的),好吧。。又冒出来个nexus ,一个私服代理软件,也是开源的,它的作用就是在网络中央库和我们maven之间架设一个私有的服务器,就是由它去网络中央库把那些用到的jar下下来存到本机物理磁盘,然后其他开发机就访问这台私服来取jar,这样只要私服能连上外网就OK了,这个刚好符合我们团队开发的这种模式。收下了,呵呵~~

 

    私服搭好了,然后回到正题,SpringSide4,maven也不是那么好用的,我直接在SpringSide4的项目里面用maven就可以把相关的jar下载回来,但是,当我把SpringSide4的源文件COPY过来到我新建的项目,问题就出来了,有一个SpringSide4核心包死活下不下来。。。那个郁闷呐。。。就这样磕磕碰碰又过了2周。。

 

     突然之间,脑子里闪过一个念头,我们一直在用别人的搭建好的项目框架来开发我们的应用,那么,我们可不可以去搭建适合我们实际开发的框架?

 

    呵呵,这个想法一发不可收拾,是的,我们一直走在别人的路上,去学习人家早已定义好了的框架,去摸索别人的思维。

依然记得那位技术总监来我们工作室时说的那句:框架用多了,就慢慢演变成了一种教条式的开发。

 

    那么,现在回到我们最初的想法,我们需要一个解决方案,SpringMVC3是一个比较流行的开源框架,新升级的功能受到众多开发者的青睐。团队开发,OK,我们有过SSH2的开发经验,SpringMVC3对我们来说也不会太难上手。然后是为移动设备提供的WEBServices,这个可以用CXF,OK。

 

   假如我们真的自己搭建一个项目开发框架,那么相比网上流行的开源框架, 我们还欠缺什么?

   首先,网上的开源框架使用的人的多,安全性较高,即使出问题了也可以很快有解决方案,性能稳定,很多热门的框架都是经过很长 的时间考验,在企业应用中能体现良好的稳定性,技术难点很容易得到解决,因为这些框架很多都是用了有相当长的时间了,网络上对于常见开发错误,BUG修正等技术性问题会有很多的解决方案。这无形中降低了开发的难度。

 

   然后,分析我们自己搭建的框架,稳定性以及安全性还需经由实际的考验, 框架中的技术点,例如spring security,二级缓存,日志记录,定时调度,等等技术点,别人做得出来 ,我们为什么就做不出来 ?

 

    对,为什么我们不可以用自己的想法去创新?人家的技术,不一样的摸索出来的,别人可以,为什么我们不行?

 

   最近研究新东西研究得有点郁闷,发发牢骚写了这些东西,有时候,做项目久了郁闷了,不妨跳出圈子看看,你会有意外的收获的。程序员,得去发现自己的思维,学会发现自己的创新点。

 

   学习,以自己的方式证明自己。

 

你可能感兴趣的:(企业应用,ssh,maven,spring,框架)