spring是什么
Spring是一个开放源代码的轻量级设计层面框架,他通过“组合”方式解决了业务逻辑层和其他各层的松耦合问题,一个类通过依赖注入而拥有其他类的功能。Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。
spring框架模块
Spring Framework由大约20个模块组成的功能组成。这些模块分为核心容器,数据访问/集成,Web,AOP(面向方面编程),仪器,消息传递和测试,官方提供的框架模块图如下:
spring思想理念
控制反转
控制反转将我们创建对象的方式反转了。在之前对象是开发人员自己创建、维护,依赖关系是自己注入。spring实现了对象的创建以及依赖关系由spring完成创建以及注入。反转控制就是反转了对象的创建方式,从我们自己创建反转给了程序。
依赖注入
实现控制反转需要DI做支持,在spring中控制反转和依赖注入等同。
注入方式:
set方法注入
构造方法注入
字段注入
注入类型:
值类型注入(8大基本数据)
引用类型注入(将依赖对象注入)
特征
核心技术:依赖注入,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP。
测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。
数据访问:事务,DAO支持,JDBC,ORM,编组XML。
Spring MVC和 Spring WebFlux Web框架。
集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。
语言:Kotlin,Groovy,动态语言。