spring framework 源码基础(一)

spring特征
核心技术:依赖项注入,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP。
测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。
数据访问:事务,DAO支持,JDBC,ORM,封送XML。
Spring MVC和 Spring WebFlux Web框架。
集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。
语言:Kotlin,Groovy,动态语言。

spring ioc (Inversion of Control)
是面向对象编程中的一种设计原则,可以用来降低计算机代码直接的耦合度,其中场景的方式叫做依赖注入(Dependency Injection 简称DI), 还有一种方式叫做"依赖查找"(Dependency Lookup)依赖查找例如:JNDI 点击进入博客

IOC 是目标 DI是实现IOC的技术手段

spring 实现IOC的思路和方法
spring实现IOC的思路是提供一些配置信息用描述类之间的依赖关系,然后由容器去解析这些配置信息,继而维护对象之间的依赖关系,前提是对象之间的依赖关系必须在类中定义好,比如A.class中有一个B.class的属性,那么可以理解为A依赖B,既然我们在类中已经定义了他们之间的依赖关系那么我们为什么还需要在噢诶之文件中去描述和定义呢?

spring实现IOC的思路大致可以拆分成3点
应用程序中提供类,提供依赖关系(属性或者构造方法)
把需要交给容器管理的对象通过配置信息告诉容器(xml、annotation、javaconfig)
把各个类之间的依赖关系通过配置信息告诉容器

配置细这些新的方法有三种分别是xml,annotation和javaconfig
维护的过程称为自动注入,自动注入的方法有两种构造方法和setter
自动注入的值可以是对象,数组,map,list和常量比如字符串整形等

spring编程的风格
schemal-based --------- xml
annotation-based ------- annotation
java-based -------- javaconfig
三种可混合使用 不冲突

注入的两种方法

spring3 中的接口注入 在spring4中去掉了 所以只有两种

Constructor-based Dependency Injection 构造方法注入 点击进入spring文档

Setter-based Dependency Injection setter注入 点击进入spring文档

posted @ 2020-10-26 16:27  浮生三月初  阅读(68)  评论(0)    收藏  举报