本人对SPIRNG的一些看法,忘大伙指正
话说在前头,这只是我个人的看法,不一定对,写出来就是跟大伙讨论讨论,骂人的,说话阴阳怪气的,哥不侍候,直接删
干了八年的JAVA,这八年来啊,有两个问题一直困扰着我,一个是hibernate效率如此低下为什么一大半的项目还是要用hibernate(说hibernate没有效率问题的同学可能没做大数据量相关的活,五张百万级的表用hibernate联查,速度今人发指,就算不是百万表联查,当做大量数据添加修改的时候,效率仍远不及纯JDBC和IBATIS),这个问题前段时间一个大神给我说了一下,大神就是大神,解释得很完美,我服了,现在还有一个,那就是SPRING
说到SPRNG啊,大伙都能背书,有什么好处呢,框架之间的粘合剂哦,AOP能方便的控制事务和权限哦,IOC解耦哦,大多数是废话,SPRING最值得称道的是他的IOC,当然你会说他的AOP很屌,是很屌,但你用他做了什么,控制事务?控制权限?还有别的吗,这么屌的东西就干这两件实习生都能做活,意义何在,话说回IOC,SPRING的IOC是个完美的解耦工具,把以前的类与类直接的关联,改成了类对SPRING容器的依赖,主类根本不用管他调用了哪个类,SPRING自然会给你,确实很完美,绝对的0耦合,0耦合的意义在于后期维护,假设后期维护中,一个实现类要换了,直接改下配置文件就够了,SO,问题来了,实际的项目维护中,真有人换过吗,谁有这么大胆子,配置文件有人动,最多加个BEAN进去,但改以前的配置文件,换掉实现类,我干了八的,闻所未闻,这是不敢想象的,后期维护中,改别人一句代码都要千考虑万考虑,您直接换别人的实现类,出了问题谁负责任,实际情况也是从来就没人敢换过,项目上线了,类就定死了,不存在所谓耦合不耦合
我在这下个结论,个人的结论啊,可能不是很对,现在大多数项目用SPRING只是用到他的事务管理,而IOC,估计一大半的孩子不明白,为什么我要写接口
相当多的人说SPRING有利于后期维护,并且能提高开发效率,还有一些文章说什么SPRING把代码量精减到了以前的2/3,我真不知道他做的是什么系统,这些话,个人不同意,我同样不认为离开SPRING,事务和权限的控制是麻烦事