Spring XML方式IOC:Bean配置(一)
要使用Spring的基本功能,要依赖Spring的4个核心jar包
<Bean>标签:
实例化类标签,有三种实例化方案(无参构造,静态实例化,普通实例化)
Bean中的常用属性:
id:给该实例化类起个别名,在Java中用new ClassPathXmlApplicationContext(起的id别名)方式实例化该对象,别名不能有特殊符号或下划线
class:要实例化的类全路径
name:同id一样,但name属性可以包含特殊符号,现name属性已很少用到
scope:Bean的作用范围,有一下值:(解释,前两个就不用多说,后三个:分别是将Bean(也就是Spring将你的实例化的对象)放到request、session、globalsession中)
属性注入(其实就是在类创建时,设置里面的值,即有参构造),属性注入有三种方式
Java的实现,图:
Spring中只支持前两种方式注入
一:有参构造注入(name中的值,必须和类中要设置的变量得名字一致,否则Spring找不到)
constructor标签
二:set方式
property标签
必须要在类中生成set方法
在类中注入对象类型,图中的userDao必须一致
ref:表示引用...类型
P,名称空间,必须先声明名称空间,后面的P:xxx,xxx必须和类的属性一致
注入复杂属性:
IOC和DI的区别和关系:
IOC:控制反转,将对象的创建交给Spring
DI:依赖注入,Java有三种注入(赋值)方式,Spring支持两种(有参构造、set两种方式,还不理解看下上文)
关系:缺一不可,是Spring的重要组成,DI要在IOC的基础上完成