Spring学习 第三节
java吧
全部回复
仅看楼主
level 6
胖刘老师 楼主
Spring的核心容器---续: 用ref属性指定依赖的三种方式 1:用local属性指定:local属性的值必须与被参考引用的bean的id一致,如果在同一个xml文件里没有匹配的元素,xml解析将产生一个错误 如:


Hello World!


2:用bean属性指定 用ref元素中的bean属性指定被参考引用的bean是spring中最常见的形式,它允许指向的bean可以在同一xml文件中也可以不在同一个xml文件里 bean属性的值可以与被引用的bean的id相同也可以与name相同。


Hello World!


3:用parent属性指定 用ref元素中的parent属性指定被参考引用的bean时,允许引用当前BeanFactory或ApplicationContext的父BeanFactory或ApplicationContext bean属性的值可以与被引用的bean的id相同也可以与name相同。


Hello World!

用local属性指定和用bean属性指定的比较 相同:都可以使用id来参考引用,可以对同一xml文件进行参考引用 不同:bean属性的值可以与被引用的bean的id相同也可以与name相同。可以引用不在同一个xml文件里的bean ---------------------------------------------------------- bean自动装配的5种模式: 可以使用bean元素的autowire属性来指定bean的装配模式: 1:byName 2: byType 3:constructor 4:autodetect 5:no 显示的指定依赖如:property 和constructor-arg元素总会覆盖自动装配。对与大型应用不鼓励使用自动装配 -------------------------------------------------------------- bean 依赖检查的4种模式: 依赖检查能够分别对每个bean应用或取消应用,默认的是不检查依赖关系, 可以使用bean元素的dependency-check属性来指定bean的依赖检查,共有4种: 1:使用simple模式 是指对基本类型、字符串和集合进行依赖检查 如:

只会对msg进行检查 2:使用object模式 是指对对象进行依赖检查 如:

只会对date进行检查 3:使用all模式 是指对所有属性进行依赖检查 如:

会对msg进行检查和date进行检查 4:使用none模式 是指对所有属性不进行依赖检查 如:

不会对msg进行检查和date进行检查 总结:一般情况下依赖检查和自动装配结合使用,当bean属性都有默认值或不需要对bean的属性是否被设置到bean上检查时,依赖检查的作用就不大了 -----------------------------------------------------------------------集合的注入方式对于集合List Set Map Props元素则有不同的配置方式1:List public class HelloWorld{ //定义一个List变量msg List msg=null; public void setMsg(List msg){ this.msg = msg; } } xml文件:



Hello World!
Hello World2! 2:set public class HelloWorld{ //定义一个Set变量msg Set msg=null; public void setMsg(Set msg){ this.msg = msg; } } xml文件:



Hello World!
Hello World2! 3:map public class HelloWorld{ //定义一个Map变量msg Map msg=null; public void setMsg(Map msg){ this.msg = msg; } } xml文件:




Hello World!

Hello World2! 4:properties public class HelloWorld{ //定义一个properties变量msg Properties msg; public void setMsg(Properties msg){ this.msg = msg; } } xml文件:



Hello World!
Hello World2! 
2008年10月07日 08点10分 1
1