spring 配置文件

来源:互联网 发布:产品如何上淘宝首页 编辑:程序博客网 时间:2024/05/18 02:39

spring 框架提供了一个容器,这个容器可以管理应用程序的组件,还提供了Ioc 和 AOP  机制。实现组件之间解耦,提高程序结构的灵活性,增强系统的可

维护性和可扩展性。


下面简单介绍一个 applicationConfig.xml  的简单配置:

<bean id="userDAO" init-method="myinit"destroy-method="mydestroy" lazy-init="true"class="tarena.dao.JdbcUserDAO"></bean><bean id="userDAO1" scope="prototype"class="tarena.dao.HibernateUserDAO"></bean><bean id="userService" scope="prototype" class="tarena.service.UserServiceImpl"><!-- 定义DI依赖注入关系 --><property name="userDao" ref="userDAO1"></property></bean>
1. <bean id="标识符" class="Bean组件类型"></bean>

2. 在代码中,实例化spring容器对象
          ApplicationContext ac  =     new ClassPathXmlApplicationContext("容器配置文件");

3. 获取容器中的  Bean  对象  ac.getBean("表示符");

  Spring 容器对 Bean 组件的管理

  a. 默认情况下,Bean 组件采用单例模式创建,只有一个对象,在Spirng 容器实例化时创建。

  b. 利用 init - method 属性可以指定初始化方法,该方法在构造方法执行后自动调用。

  c . 利用 destroy-method 属性可以指定销毁方法,该方法在对象销毁前执行,可以通过AbstractApplicationContext的close()方法触发(仅对scope="singleton"有效)

  d. 利用lazy-init属性可以将单例对象创建时机延迟到ac.getBean()方法。

   e.利用scope属性可以指定Bean对象的创建模式。默认值为singleton(单例,每次调用getBean返回同一个对象),还可以使用prototype(原型,每次调用getBean返回一个新对象)。
          

 在Web环境应用,可以扩展request和session等属性值。可以将Bean对象与request或session绑定在一起。
           注意:当将scope指定为非单例模式(非singleton)时,对象创建时机改为调用getBean方法。




0 0
原创粉丝点击