beauty_beast

上善若水 厚德载物

Spring框架学习一----基本配置

Posted on 2006-05-25 16:39 柳随风 阅读(5607) 评论(6)  编辑  收藏 所属分类: 开源框架

         花了两三天看了相关文档,只是初步了解相关配置,没有做深入了解,才达到基本会使用配置的目的。

个人理解:
         Spring 最基本的的功能是提供通过配置管理任意类,提供了Bean管理容器。这也是Spring最基础,最核心的功能,在Spring框架中,一切皆为Bean,实际上在我们的日常开发中,往往更多的是和Bean相关的开发,并且都是短生命周期,除了一些缓存功能,其他很多重要的功能都是由开源框架完成。
        实现方式也是框架常用的反射机制,因此使用Spring前提在JVM启动参数中不能加安全管理配置。
        Spring中所有的Bean相关配置均为一个文件,非常集中,个人感觉这有利有弊,利大于弊。
        统一配置比较方便集中,我最近的项目就是有很多子系统,除了一些公用的配置文件,还有很多子系统的配置文件,每次迁移环境是非常累的事,如果只有一个配置文件,那工作就会轻松多了。
        缺点也就在于很集中,如果配置有误,整个系统不可用,这种情况往往发生在系统升级阶段,也比较少,即使出现问题也比较好定位。
         Spring提供了Bean管理容器,这个功能可以大大简化业务系统的配置开发工作。
         个人感觉将来的开发工作更多的是配置,编写业务相关的Bean以及业务方法,其他功能均会有很多优秀的开源框架实现,重要的工作是选择符合项目的框架、熟悉框架,最重要的还是苦修内功,深入学习java,因为万变不如其中,再说开源不是万能的,有时候还是要靠自己的。
        

学习心得
Spring提供三种创建类实例方法:
    a、通过构造函数,访问属性可以是任意
    b、通过对应类的静态工厂方法,注意不能是私有的
     c、通过工厂类的实例工厂方法,是非静态的方法

-、bean节点相关主要属性:
     id/name          实例名/别名
     class              必须、类全名
     singleton        是否为单实例,默认为true
     init-method     初始化方法
     depends-on    指定依赖Bean,实现在被依赖Bean实例创建前,对依赖的一个或多个Bean的实例化, 
                           init-method在对应Bean实例已经创建后调用
     destroy-method   释放回调方法,常用于资源释放
     dependency-check 依赖检查
     parent           指定父Bean实例,减少因继承关系的重复配置

     说明除配置init-method,destory以外,可以在对应Bean中实现InitializingBean,DisposableBean两个接口方法
     Spring容器不负责管理非单实例的Bean

配置bean事项:
1、注意在通过构造器参数匹配时,必须指定参数的序号,同时建议明确说明类型,
  <constructor-arg index="0"><value>128</value></constructor-arg>
  <constructor-arg index="1"><value>teststring</value></constructor-arg> 
  最好说明相关参数类型类型 
  <constructor-arg index="0" type="int"><value>128</value></constructor-arg>
  <constructor-arg index="1" type="java.lang.String"><value>teststring</value></constructor-arg> 
  可以使用简化配置
  <constructor-arg index="0" type="int"  value="128"/>
  <constructor-arg index="1" type="java.lang.String" value="testString"/>
   
2、属性为空
    <property name="pro1><null/></property>
3、空串
    <property name="pro1><value></value></property>  

二、常用elements
bean | ref | idref | value | null | list | set | map | props

说明:
     bean      创建一个新的bean实例
     ref         引用已经创建的bean实例
     value      简单数据类型
     null         空指针
     list         创建java.util.ArrayList对象实例
     set         创建java.util.LinkedHashSet对象实例
     map       创建java.util.LinkedHashMap对象实例
     props     创建java.util.Properties实例   

list,set,map可以多层嵌套配置


遗留问题:
idref 配置没有起作用,类似value配置,测试输出为字符串对象,是否配置不正确?

上述配置范围基本覆盖了我们开发时的bean使用情况,详见配置可以参考dtd
http://www.springframework.org/dtd/spring-beans.dtd


ApplicationContext 继承于BeanFactory相关接口,针对企业应用级的,占有内存较多
BeanFactory     提供配置框架和基本功能,适用于对内存有限制的相关应用
功能:
1、提供消息访问,ApplicationContext 本身继承于MessageSource接口,
   ApplicationContext 加载时查找对应的MessageSource Bean, bean id 必须为messageSource
   Spring框架提供两个MessageResource实现:
    org.springframework.context.support.ResourceBundleMessageSource
    org.springframework.context.support.StaticMessageSource
2、事件传递
3、使用资源

Feedback

# re: Spring框架学习一----基本配置  回复  更多评论   

2006-05-25 16:46 by sjun
不错,顶一下

# re: Spring框架学习一----基本配置  回复  更多评论   

2006-09-11 18:26 by tt
ttttttt

# re: Spring框架学习一----基本配置  回复  更多评论   

2006-09-11 18:27 by tt
rb

# re: Spring框架学习一----基本配置  回复  更多评论   

2007-01-29 10:03 by 123
d

# re: Spring框架学习一----基本配置  回复  更多评论   

2009-03-11 12:18 by 仙乐
精华呀。。

# re: Spring框架学习一----基本配置[未登录]  回复  更多评论   

2011-07-04 11:54 by 江山
很好啊,支持

只有注册用户登录后才能发表评论。


网站导航: