首页 > 代码库 > SpringIoC

SpringIoC

一.Spring配置
    1.加入jar包
    2.加入xml文件;默认为applicationContext.xml
 
bean标签属性:
    depends-on="另一个bean标签的id":依赖关系;创建此bean实例之前先会创建depends-on中所写id指定的bean对象。
    scope=:prototype原型模式;缺省默认为单例模式singleton
    destroy-method=:Spring容器关闭时,调用此方法销毁bean实例。且此属性只在singleton单例模式生效。
    init-method=:初始化方法。
 
beans标签属性:
    default-init-method=和default-destroy-method=:指定下面所有bean实例的初始化方法和销毁方法。
 
二.Spirng容器创建bean实例
    new ClassPathXmlApplicationContext("xm文件名:applicationContext.xml").getBean("<bean>的id")
1、无参方法
 

1). 用构造器来实例化的方式配置代码

<!--id:指定唯一标示; class:包名-->
<bean id="" class=""></bean>
 
2). 使用静态工厂的方法实例化
<!-- id:为唯一标示; class=包名 ; facroy-method:创建bean对象的静态工厂方法-->
<bane id="" class= "" factory-method=""></bean>
 
3). 使用实例工厂方法实例化
<!--第一个bean标签创建作为工厂的对象;第二个bean标签中 factory-bean:指定实例工厂; factory-method:指定工厂方法-->
<bean id="" class="" ></bean>
<bean id="" factory-bean="" factory-method=""></bean>
 
2、setter注入属性的方式创建bean实例
<!--子标签property中name为bean对象的属性的变量名;value为要给的值-->
<bean id="" class="">
    <property name="" value=""></property>
    <property name="" value=""></property>
    ....................
</bean>
 
3、构造方法参数注入
<bean id="bean1" .............>
    .........
</bean>
 
<!--创建下面的bean用构造方法,但是有参数,参数类型正好是另一个bean实例-->
<bean id="" class="">
      <constructor-arg name="参数的变量名" ref="bean1"/>
</bean>
 
attention : 构造方法中写 “this.变量名=变量名”不能反过来写,否则会报空指针异常
 
4、自动装配
<!-- autowire属性byType,byName,constructor,autodetect
attention : 若选择byType,参数类型也可以是父类,接口类型-->
<bean id="" class="" autowire=""></bean>

SpringIoC