感觉总结的比较乱,希望能给初学都带来点帮助吧!
<bean id="age" class="a.b.A" autowire-candidate="false">autowire-candidate的属性设为false,这样容器在查找自动装配对象时将不考虑该bean
<constructor-arg>构造器的注入方式
</constructor-arg>
<property name="属性名">setter注入方式
<value>直接量(基本类型,strings类型等)</value>
<idref bean="不同XML里的bean也可以访问到" local="只有本XML里的bean可以访问到" parent="访问父类的bean"/>
<ref bean="本地bean的id属性或name属性"/>该元素用来将bean中指定属性的值设置为对容器中的另外一个bean的引用
<bean class="a.b.B"></bean>内部bean不需要有id or name
</property>
<property name="">
<props>*.properties文件注入方法
<prop key="key名" >key对应的值</prop>
</props>
<list>
<value>值</value>
</list>
<list ></list>
<set>
<value>值</value>
</set>
<map>
<entry>
<key>key名</key>
<value>key值</value>
<key>
<value></value>
</key>
</entry>
</map>
</property>
</bean>
depends-on使用:
多数情况下,一个bean对另一个bean的依赖最简单的做法就是将一个bean设置为另外一个bean的属性。在xml配置文件中最常见的就是使用<ref/>
元素。有时候它还有另外一种变体,如果一个bean能感知IoC容器,只要给出它所依赖的id,那么就可以通过编程的方式从容器中取得它所依赖的对象。无论采用哪一种方法,被依赖bean将在依赖bean之前被适当的初始化。
在少数情况下,有时候bean之间的依赖关系并不是那么的直接(例如,当类中的静态块的初始化被时,如数据库驱动的注册)。depends-on
属性可以用于当前bean初始化之前显式地强制一个或多个bean被初始化。下面的例子中使用了depends-on
属性来指定一个bean的依赖。
<bean id="beanOne" class="ExampleBean" depends-on="manager"/> <bean id="manager" class="ManagerBean" />
若需要表达对多个bean的依赖,可以在'depends-on'
中将指定的多个bean名字用分隔符进行分隔,分隔符可以是逗号、空格及分号等。下面的例子中使用了'depends-on'
来表达对多个bean的依赖。
<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao"> <property name="manager" ref="manager" /> </bean> <bean id="manager" class="ManagerBean" /> <bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" />
延迟初始化lazy-init
在XML配置文件中,延迟初始化将通过<bean/>
元素中的lazy-init
属性来进行控制。例如:
<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true" > <!-- various properties here... --> </bean> <bean name="not.lazy" class="com.foo.AnotherBean"> <!-- various properties here... --> </bean>
当ApplicationContext
实现加载上述配置时,设置为lazy
的bean将不会 在ApplicationContext
启动时提前被实例化,而not.lazy
却会被提前实例化。