重新认识spring

spring的前世今生---详情请见百度百科

话说去年毕业的时候对于spring的认知还仅仅停留在IOC和AOP上,想要开发一个SSH的项目,要写很多xml配置文件,甚至面试时都在背。苦不堪言。

直到真正的开始用心接触spring...以至于被她的美貌和性感所倾倒。spring是真心强大呀,各种全家桶。

 

一、学习的起始:spring官方文档

看过之前4.x的,菜单栏都没有,现在5.0.x 还是很完美的。

-------举例一二

老生常谈: 什么是IOC&为什么要使用呢

IOC(Inversion of Control)即控制反转。是面向对象编程中的一种思想&设计原则。传统的程序中,对象是由程序员来人为的控制生成。所以其作用就是用来处理对象的生成,解决代码之间的耦合度。IOC的实现方式有两种:即 DI(Dependency Injection)依赖注入 & DL(Dependency Lookup)依赖查找。

于此,有了IOC这样的管理对象的容器,我们就不需要管理类的产生、以及它们之间依赖关系的维护了。

那么彼时就有了点思考了:

  1.想要被IOC管理,那众所周知的都知道,对象要成为spring的bean对象~~;如何成为一个bean对象呢,它有什么属性呢

  2.成为了bean,它又是怎么加入到IOC中的呢,如果被加入过的bean,想修改其属性又要怎么操作呢

    3.具体的IOC指的又是什么,这个工厂怎么给我去扩展呢,她又是怎么被设计的

  太难了~

AOP思想:

AOP指的是面向切面,传统的开发程序是由上而下顺序执行的。但是有时候总想动态的加点其他的业务--即横向的业务逻辑;但这些业务丝毫不会影响原有的代码逻辑。所以说AOP

的思想就是将主业务逻辑与这些横向的业务逻辑分开,达到解耦的目的。这样即可提高代码的重用性和效率性。

那么问题又来了:

  1.aop具体包含些什么思想,什么行为呢

  2.spring怎样可以实现这样的功能,有什么技术呢,她又是怎么被设计的

  3.什么样的业务场景需要这样的技术点

 二:关于spring的整个项目模块

spring全家桶这几个字,可谓是在java业界如雷贯耳呀!终于再开了窍之后,明白了什么是全家桶,原来她是真的完美。

spring framework -- 掌控着整个生态链

spring data -- 数据层处理

spring boot -- 去xml化开发,超级简便开发

spring cloud -- 微服务,又是一个全家桶的存在

spring security -- 权限管控

等等,诸多项目为我们所用,可想而知看她的源码是多么的困难。。

 

师傅领进门,修行看个人。跟过“子路”(真不好意思说跟过~实在没学到其精髓),且学习spring也有段时间了,此篇终是于今日草草而为之,仅记录个人所想。

后续继续修炼spring~

 

posted @ 2019-10-30 16:24  Flyinglion  阅读(252)  评论(0编辑  收藏  举报