(学习笔记仅帮助自己理解记忆,部分内容可能存在理解错误,如有发现,还望指出)
ApplicationContext.xml
头部信息:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
bean标签:
-
id属性:用于指定Bean的名称,在Bean被依赖时使用,在获取Bean时使用等
-
class属性:用于指定Bean的来源,即创建要创建的Bean的class类(需要全限定名)
-
name属性:用于指定Bean的别名
-
singleton属性:用于指定当前Bean的创建模式,若值为true表示为单例模式,false表示原型模式(prototype)
-
depends-on属性:用于指定当前Bean的依赖Bean,强制指定的Bean在当前Bean初始化之前先完成初始化
-
init-method属性:用于指定当前Bean的初始化方法,在Bean实例创建好后,首先会调用其指定名称的方法
-
destory-method属性:用于指定当前Bean的销毁方法,在Bean即将被销毁之前会自动调用该属性指定的方法
-
lazy-init属性:用于指定当前Bean的初始化时间,若值为true表示在初次调用时才会自动创建实例并初始化,false表示在IoC容器创建的时候就会完成创建和初始化
-
lazy-init属性:用于指定当前Bean的初始化时间,若值为true表示在初次调用时才会自动创建实例并初始化,false表示在IoC容器创建的时候就会完成创建和初始化
-
autowire属性:用于指定当前Bean的依赖关系的自动注入方式,其有五个值:
byName值:表示通过id名称来自动匹配;
byType值:表示通过class指定的类型来自动装配;
constructor值:表示使用构造函数的参数进行自动装配(参数的类型匹配);
autodetect值:表示自动进行选择匹配方式,首先进行constructor自动装配,若不存在构造方法则使用byType方式进行自动装配;
no值:表示不适用自动装配。 -
dependency-check属性:用于指定Bean的依赖检查模式,检查依赖关系是否完整,与自动装配合用,其有四个值:
simple值:表示针对基本类型、字符串、集合进行依赖检查
object值:表示对引用对象进行依赖检查
all值:表示对基本类型、字符串、集合、引用对象全部进行依赖检查
none值:表示不进行任何依赖检查,默认情况
简单示例:
<bean id="A4p" class="pojo.Paper">
<constructor-arg name="type" value="A4"></constructor-arg>
</bean>
<bean id="B5p" class="pojo.Paper">
<constructor-arg name="type" value="B5"></constructor-arg>
</bean>
<bean id="ashByA4" class="pojo.Print">
<constructor-arg name="paper" ref="A4p"></constructor-arg>
<constructor-arg name="type" value="黑白"></constructor-arg>
</bean>
<bean id="ashByB5" class="pojo.Print">
<constructor-arg name="paper" ref="B5p"></constructor-arg>
<constructor-arg name="type" value="黑白"></constructor-arg>
</bean>
<bean id="vgtByA4" class="pojo.Print">
<constructor-arg name="paper" ref="A4p"></constructor-arg>
<constructor-arg name="type" value="彩色"></constructor-arg>
</bean>
<bean id="vgtByB5" class="pojo.Print">
<constructor-arg name="paper" ref="B5p"></constructor-arg>
<constructor-arg name="type" value="彩色"></constructor-arg>
</bean>