人世繁华|spring框架之IOC容器
今天是刘小爱自学Java的第121天 。
感谢你的观看 , 谢谢你 。
所以我们也称之为spring容器 。
今天的学习内容就是关于bean标签:
Bean的作用域:单例与多例说明 。 Bean属性依赖注入的两种方式 , 以及p名称空间、seEL表达式的引入 。 补充说明一个IDEA插件 。 一、bean的作用域作用域也就是指:由spring创建的bean对象在什么情况下有效?主要有单例和多例两种 。
在springIOC容器中仅存在一个bean实例 , bean以单例方式存在 。
注意:这边我大致提下 , 昨天忘记说明了 , 通过spring工厂获取对象时 , 参数可以是id , 也可以是bean的类型 , 也就是对应接口/类的Class对象 。
使用id获取最稳妥 , 如果根据类型获取 , 配置了多个类型的话 , 会抛出异常 。
2多例测试
每次从容器中调用bean时 , 都会返回一个新的实例 , 即每次调用getBean()的时候 , 相当于new了一次bean对象 。
二、bean属性的依赖注入什么是Bean属性的依赖注入?
就可以理解成对一个对象的属性赋值 , 这个我们昨天就接触过 , 其有两种注入方式:
1构造器参数注入constructor-arg
②spring配置构造器参数
constructor-arg:该标签相当于在告诉spring容器 , 要调用有参构造方法了 , 不再调用默认的构造方法了 。
所以必须要有有参构造方法 , 不然会报错 。
index:根据索引定位属性 , 0表示首位 。 name:根据属性参数名称定位属性 。 type:根据属性数据类型定位属性 。 value:简单的值 , 字符串 。 ref:复杂的值 , 就是通过该属性可以引用由spring容器创建的其它bean对象 。一般都是使用name属性赋值 , 这样最合理 , 也一目了然 , name和type这两种都不靠谱 。
配置完成 , 做一个测试