IOC
IOC为spring的核心之一,其本值是调用工厂模式将对象的创建由主动改为被动。
ICO的配置又两种:xml和注解
xml配置
bean
作用:定义spring中的资源,受此标签定义的资源将受到spring的控制。
格式:
<beans>
<bean />
</beans>
基本属性:
<bean id="beanId" name="beanName1,beanName2" class="ClassName"></bean>
id:bean的名称,通过id值获取bean
class:bean的类型
name:别名
scope
作用:定义bean的作用范围
格式:
<bean scope="singleton"></bean>
取值:singleton:单例对象
prototype:非单例对象
bean的生命周期
作用:bean对象在初始化或者销毁过程中完成的工作
格式:
<bean init-method="init" destroy-method="destroy></bean>
当scope="siingleton"时,init方法在创建容器时仅执行一次。关闭容器会导致bean实例的销毁,调用destory方法一次。
当scope="prototype"时,init在每个对象创建时均执行一次,对象的销毁由垃圾回收机制gc()控制,destroy方法将不会执行
DI
依赖注入,应用程序运行依赖的资源由spring为其提供,资源进入应用程序的方式称为注入。
set注入
<property name="propertyName" value="propertyValue" ref="beanId"/>
构造器注入
<constructor-arg name="argsName" value="argsValue />
其他属性
array list set map props
<property name="al">
<list>
<value>itheima</value>
</list>
<props>
<prop key="name">itheima666</prop>
</props>
<array>
<value>123456</value>
</array>
<set>
<value>itheima</value>
</set>
<map>
<entry key="name" value="itheima66666"/>
</map>
</property>