Spring源码分析(一)——AOP、DI、IOC和IOC容器原理

面向切面编程(Aspect Oriented Programming):面向切面编程也可以称为面向规则编程,其目的是为了将多个类中具有一定规律性的代码在开发时将其按一定规则拆分后各自独立编写,在运行时由Spring将其整合在一起形成整体以对外提供服务。最大的好处当然是解耦,使得专人做专事,便于代码的维护和可扩展性。

面向对象编程(Object Oriented Programming):面向切面编程是java语言的定位,封装、继承和多态自然在java语言中可以灵活的运用。万事万物皆对象,即生活中的一切事物都可以用对象来描述,这便是面向对象的核心。可以把生活中的一切行为和属性都使用方法和变量来描述。

面向Bean编程(Bean Oriented Programing):面向Bean编程是Spring一直在使用的编程思想,Bean是Spring的描述方式。一切都是基于Bean开始。

IOC(Inversion Of Control):控制权反转,即控制权转移,将本来需要我们new的对象交由Spring来管理,并由Spring中的IOC容器来保存和管理。

DI(Dependency Injection):依赖注入就是为了将我们所切分开的独立的代码整合到一起,即理清关系然后赋值,而它所注入的对象是由IOC容器统一存放。Spring不仅保存了所有创建的对象,并且还保存了对象与对象之间的引用,以便于正确的注入。赋值的方式有三种,构造器、setter和直接赋值。

IOC容器:IOC容器是Spring所维护的数据结构,是由ConcurrentHashMap来存放的,其中保存了Spring管理对象的所有信息。

 

    原文作者:AOP
    原文地址: https://blog.csdn.net/qq_34457118/article/details/82257571
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞