一:简介
Spring是一个轻量级的企业级开发的一站式解决方案。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。每一个被Spring管理的对象都被称为Bean。Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
二:两大核心
1:IOC(控制反转)和DI(依赖注入):在一般的编写代码过程中,对象都是我们自己创建的,也是我们自己维护的。但是IOC容器有依赖注入功能,由它创建好的对象则将交给Spring来控制。此时控制权就不在我们手里了,这就叫控制权反转。。同时核心控制器是Spring框架最基础的部分,它提供了依赖注入(DependencyInjection)特征来实现容器对Bean的管理,而依赖注入不能单独存在,需要在IOC的基础之上完成。这里最基本的概念是BeanFactory,它是任何Spring应用的核心。BeanFactory是工厂模式的一个实现,是IOC容器的实际代表者,它使用IoC将应用配置和依赖说明从实际的应用代码中分离出来。
四种依赖注入方法:
2:AOP(面向切面编程):比如两段程序,我们需要对它们做几乎相同的操作,当然最笨的方法就是两个的代码都改变,但这样费时费力。所以把两个程序并在一起,想象用刀在同一位置切开,再往其中添加相同的代码。如日志管理、异常处理等事务都能使用AOP的方式解决。
把众多方法中的所有共有代码全部抽取出来,放置到某个地方集中管理,然后在具体运行时,再由容器动态织入这些共有代码的话,最起码可以解决两个问题:
1. Java EE程序员在编写具体的业务逻辑处理方法时,只需关心核心的业务逻辑处理,既提高了工作效率,又使代码变更简洁优雅。
2. 在日后的维护中由于业务逻辑代码与共有代码分开存放,而且共有代码是集中存放的,因此使维护工作变得简单轻松。
实现过程:业务逻辑组件在运行过程中,AOP容器会动态创建一个代理对象供使用者调用,该代理对象已经按Java EE程序员的意图将切面成功切入到目标方法的连接点上,从而使切面的功能与业务逻辑的功能同时得以执行。从原理上讲,调用者直接调用的其实是AOP容器动态生成的代理对象,再由代理对象调用目标对象完成原始的业务逻辑处理,而代理对象则已经将切面与业务逻辑方法进行了合成。
三:优点
原文:https://www.cnblogs.com/BlakeHair/p/10476363.html