一、spring(春天) ----软件界的艺术品
1.spring是一个开源框架
2.spring是分层的java EE、一站式轻量级框架。
分层的java EE: 持久层: --mybatis 视图层: – jsp /servlet 控制层: --servlet 一站式:
java EE每层都有解决方案 轻量级:spring无侵入式 (低耦合,高内聚) GA:General
Availability,正式发布的版本,官方推荐使用此版本。在国外都是用GA来说明release版本的。 PRE: 预览版,内部测试版.
主要是给开发人员和测试人员测试和找BUG用的,不建议使用; SNAPSHOT: 快照版,可以稳定使用,且仍在继续改进版本
二、spring 核心
ioc di
aop
事务管理
webFlux --最新的mvc框架
三、控制反转IOC (inverse Object cotroller)
即创建对象的反转控制。:把对象的创建权限交给Spring容器,让spring帮我们实例化对象,我们只是从spring容器中取得实例
以前:做鞋子–手工作坊 (自己new对象)
效率低
每个细节都要关注
成本高----人力 ,时间
现代:工厂 (spring bean工厂—new对象)
效率高
不需要关注每个细节,机器
成本低
反转控制IOC (Inversion Of Control) 即创建对象的反转控制。把对象的创建权限交给Spring容器,让spring帮我们实例化对象,我们只是从spring容器中取得实例
控制谁? 控制new 对象
反转什么? 反转new对象权利(程序员-->spring)
谁控制谁的反转?spring 控制new对象的权利 ,不再由程序员来控制
依赖注入DI(Dependency Injection ) 依赖了spring容器注入的那个对象(在spring配置文件中,将其中一个bean依赖注入到另一个bean中)。
DI的方式一般有三种:
1构造器注入
使用方式: 在构造方法中声明需要注入的对象,构造方法的参数列表就是需要注入的对象列表。
例:
1)根据参数名进行注入
2)根据参数下标进行注入
2 Setter方法注入:
使用方式: 在类中增加需要被注入对象的getter/setter方法。
例:
1)当参数为普通类型时直接可以引用:
2)当参数为引用类型时:
3)当参数为数组时:
4)当参数为集合时:
5)当参数为map时:
3接口注入
需要实现某一个用于注入对象的接口,该接口定义有注入对象的方法,方法参数就是需要被注入的对象。
bean的属性
id/name bean的唯一标示
id是bean的唯一标示
name也是bean唯一标示
bean的id和name属性 ,可以同时写
getBean根据id获取bean,获取不到根据name来,name获取不到就报错
建议:一般建议使用id指定bean的唯一标示
转载:https://blog.csdn.net/Lans2716/article/details/111216250