Spring4.x 入门( ioc 底层原理/bean管理/ 注入对象类型)
目录:
Spring概念组成:
IOC操作及底层原理:
由最初创建对象的方式new -----采用简单工厂模式来生成对象--------IOC底层原理:
下图就是IOC的底层原理
(用到xml文件配置+ 工厂模式+ dom4j解析xml文件+ 反射生成对象)
IOC入门案例:
SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,给出Spring Framework jar官方直接下载路径:
http://repo.spring.io/libs-release-local/org/springframework/spring/
结果:
配置文件没有提示问题:
Bean实例化的三种方式:
第一种:使用类的无参数构造函数创建
出现问题1: 只有有参构造函数:
情况2: 加上无参构造函数则正常:
总结:
配置文件中的id---class 采用的即是根据无参构造函数构造对象的方式~也是最常用的~
第二种:使用静态工厂方式创建
工厂---配置文件---测试
第三种:使用实例工厂方式创建
创建工厂对象---调用方法--创建类对象Bean 标签常用属性:
eg. 最后一个举例子: 例如你打开百度 一次登陆百度贴吧之后 再进入百度文库 则已经是登陆状态
即一次登陆 即可全局访问 后来用redis实现~
默认值是singleton: 测试一下 发现创建的两个对象内存地址相同~
设定scope值是prototype: 测试一下 发现创建的两个对象内存地址不同~
属性注入:
1 set方法注入
XML:
测试:
2 有参数构造注入
注入对象类型属性(重点):
测试:
P名称空间注入:
具体测试:
注入复杂类型属性:
实验代码:
XML文件:
测试:
IOC(控制反转)和DI(依赖注入)区别:
Spring整合web项目原理: