工作记录之Spring学习笔记(2)XML的配置

来源:互联网 发布:如何看淘宝价格走势 编辑:程序博客网 时间:2024/06/10 18:19

写在前面

XML配置对于一个刚入门学习Spring的人来说还是比较困难的,笔者也是,所以在这里特别记录一下Spring容器以及XML配置。

Spring容器

既然是容器,自然是用来盛装东西,在这里自然就是盛放对象了,也就是你在XML里面配置的那些个Bean对象。

利用Spring容器产生对象的步骤

这里有对象间的依赖,若是还没有接触到,可以忽略关于依赖的这写文字

1、根据定义bean的配置(文件)创建并初始化BeanFactory实例(大部份的Spring用户使用支持XML格式配置文件的BeanFactory或ApplicationContext实现)。

2、每个bean的依赖将以属性、构造器参数、或静态工厂方法参数的形式出现。当这些bean被实际创建时,这些依赖也将会提供给该bean。

3、每个属性或构造器参数既可以是一个实际的值,也可以是对该容器中另一个bean的引用。

4、每个指定的属性或构造器参数值必须能够被转换成特定的格式或构造参数所需的类型。默认情况下,Spring会以String类型提供值转换成各种内置类型,比如int、long、String、boolean等。

这里有一点需要注意,那就是关于利用工厂方法得到Bean对象的配置,有一些特别,传给static工厂方法的参数由constructor-arg元素提供,这与使用构造器注入时完全一样,所以不要看到constructor-arg就认为这是在利用构造函数在注入哦!

另外,在默认情况下,bean的实例化是在XML容器加载之前进行的,但是这并非总是好事,例如我现在要查看某个教师带领了多少的学生,我们只需要查出这些写生的ID,做个统计就可以了,没有必要将这些学生一开始就实例化吧,中国几亿的学生,要是一开始就实例化,程序不就立马崩了吗?所以啊,有的时候啊,有些对象还是要等到用到的时候在实例化才是比较好的设计,这也就是Spring教程中经常提到的延迟加载或者懒加载,那么如何配置延迟加载呢?

<bean id="student" class="StudentClass" lazy-init="true"/><bean name="teacher" class="TeacherClass"/>
0 0
原创粉丝点击