Spring(三)实例化Bean以及注入对象
使用xml实例化bean
在xml中实例化bean的三种方式
<bean id="springService" class="com.zhiyou100.crm.test.SpringServiceImpl">
<!--(1)依赖注入,配置当前类中相应的属性 <property name="springDao" ref="springDao"></property>
<property name="testString" value="1234"></property>
-->
<!-- (2)构造函数注入 <constructor-arg index="0" ref="springDao"></constructor-arg>
<constructor-arg index="1" value="1234" type="java.lang.String"></constructor-arg> -->
<!--(3)使用静态工厂 实例工厂的方法注入对象,对应下面的配置文件(3)
<property name="springDao" ref="daoFactory"></property>
-->
<property name="springDao" ref="daoFactory"></property>
</bean>
- Bean中一些标签常用的属性
- id属性:名称,id属性值名称任意命名,不能包含特殊符号,能够根据id值得到配置对象。
- class属性:创建对象所在类的全路径。
- name属性:功能和id一样,id不能包含特殊符号,但name中可以有,平时已经基本不用。
- scope属性:表示当前这个bean的作用域:
- singleton:默认 ,单例的。
- prototype:多例的。
- request:在web项目中,Spring创建一个Bean对象,将对象传到request域中。
- Session:web项目中,Spring创建一个Bean对象,将对象传到Session中。
- globalSession:web项目中,应用在Porlet环境,如果没有Porlet环境则globalSession相当于Session。
xml中注入属性的三种方式(DI 依赖注入,向类中的属性设置值)
java中的注入三种方式:
-
使用set方法注入
-
使用有参构造注入
-
接口注入
Spring框架中注入只有前两种:
- set方法注入
- 有参构造注入
向bean中注入复杂数据类型