Spring的第一天
1.Spring ioc
控制反转,解决了上层完全依赖下层的问题,实现了上层对下层的控制
底层原理:xml解析+反射+容器+设计模式
注意 xml文件一定要放在src目录下
获取容器的三种方式:
① ApplicationContext context=new ClassPathXmlApplicationContext("xml文件名");
②ApplicationContext context=newFileSystemXmlApplicationContext(在本地目录的绝对路径)
③ApplicationContext context=newxmlBeanFactory("资源文件")//已过时
从容器获取bean对象的两种方式
① 通过反射实现
② 通过xml配置的id或者name
注意
通过反射实现,xml配置中只能有一个class对应的类是唯一的
xml配置中的id是唯一的
javaBean的创建时机
当对象为单例模式时,在容器创建加载时就会被执行,当对象是多例模式时,从容器获取对象时才会执行。
Spring默认为单例模式,可以在bean里设置scope属性设置设计模式
singleton:单例模式(默认)
prototype:多列的
2.DI
是对ioc思想的实现,通过配置xml实现自动对javaBean的管理。
实现方式:在xml中配置或者添加注解
3.内置bean和外置bean
外置bean设置的所有的bean都可用,内置bean只有自己的bean可用
4.自定义ioc步骤:
导包
创建解析xml的对象
创建一个文件输入流并读取xml文件
解析xml文件
获取跟标签
获取跟标签下的标签
遍历跟标签下的标签
获取id
获取class
通过反射获取字节码文件
根据字节码对象创建对象
把获取到的id与对象放到map集合中
获取子标签下的标签
遍历子标签下的 子标签
获取name属性
获取ref属性
根据获取到的ref属性通过map的key获取对象
获取方法名
通过反射获取方法
调用invoke执行方法
优质内容筛选与推荐>>