第一章 spring之旅

       我看了一下书是第四版的,有21章,哎!瞬间的没心情看下去了,慢慢来吧,希望能够坚持住!!!

       一:spring是什么?

             spring就是一个框架嘛,是一个很牛逼的框架嘛,是一个世界程序员都在用的框架嘛,是为了简化java开发,废话!哪一个框架不是。。。。

      二:用了spring的好处有哪些?

              根据书上面说的大概就是4点咯,

                                    1)轻量级(也就是不需要继承他的类,实现它的接口而进行编程)

                                    2)IOC(控制反转)也可以叫做DI(依赖注入罗)

                                    3)aop(一般来说都是声明式的,也就是面向贴面编程咯)

                                    4)样板代码(减少开发咯)

      三:激发pojo的潜能

               也就是前面说的第一点,不用去继承他的类或者实现它的接口,当然,注解除外,然后就是说可以通过di来让Java对象来做事情嘛(其实就是实例化,晕菜难过),当 然 也只可能是实例化,业务代码当然是我们写,不然程序员就该下岗了。。

     四:依赖注入

           也就是上面第三点说的,通过依赖注入让java对象更具有魔力。。。。

                1)我们可以知道,任何一个程序,都是由多个类来组合堆积起来的,当然,你的helloworld除外。。。但是如果要在A类中去引用B类,毫无疑问,那B类就必须要实例化,那这个实例化的过程一般来说是我们来实现的,但是你用了spring就由spring来实现,是不是很方便啦,其实他的di就是做这样的事的,晕菜

                    总结:di就是做实例化对象的难过,要想具体指导代码就去看他的(程序清单1.2)

              2)还是把代码说下吧,不然后面都没得说了

                    普通的方式:

                     public class AA{

                                    private BB bb;
                                     public AA(){

                                           this.bb=new BB();

                                          }

                                    public void b1(){

                                              bb.bb();   

                                              }
                                }

                       这个就是我们所想到的普通的方式通过构造函数来实例化一个java对象,但是

                                               问题:1)BB对象和AA对象极度的耦合,如果我们AA现在需要另外一种实现的方式,那就没有办法了

                                                          2)不好测试,如果没有BB代码,你就没办法测试。。。

                 我们修改后的代码

                                public calss AA{

                                         private BB bb;

                                        public AA(BB bb){

                                              this.bb=bb;

                                                   }

                                       public void b1(){

                                              bb.bb();

                                                  }

                                         }

                    我们通过在构造函数弄一个形参,这样是不是就可以啦!!。你需要什么实例,我就传什么实例,对不对。。。这就是我们的spring要做的事情,只不过你用了他以后 ,你的实例化构造方法可以不用写,由他的beans.xml帮我们配置就行了,当然,还有注解

                                            优点:1)松耦合,我想传一个什么对象都行,是吧

                                                        2)方便单元测试,我测试,只要自己传个对象就行了,对不对!!!

                   来一句专业点的语句来说明上面的总结:如果一个对象只通过接口来表明依赖关系,那么这个对象可以用不同的具体实现来进行替换!!!

       五,AOP也就是面向贴面编程

             DI的功能就是实现松的耦合,而AOP就是将一些公同的代码分离出来,然后集中的注入进去,也就是我们的代码开始模块化了,

             好处:让我们的代码更加关注于业务的本身,而不用去关注那些系统的服务(也就是那些公共的代码吧,比如:日志呀,事务呀),

            

          不爽小节:感觉书上的案例好麻烦呀,单词都不认识,哎,没办法,谁叫他是老外写的呢!!!

            

                                        

    

     

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值