Spring框架学习(4)IOC容器 Bean格式

XML格式

无论是BeanFactory还是ApplicationContext都使用统一的XML格式

beans的XML说明

所有Spring容器加载XML配置文件头部说明,都需要以下DOCTYPE声明
基于DTD声明

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
...
</beans>

还有基于XML schema的文档声明。(大多用这个)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframewok.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                          http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
...
</beans>

beans介绍

<beans>  
 - 包含0或者1<description>    非必要,指定一些描述性信息
 - 包含0或者多个<bean>-             <import>A.xml需要b.xml的bean =<import resource="b.xml"/>
 -              <alias><bean>起别名

相应的属性:

  • default-lazy-init :true或者false(默认),延迟初始化
  • default-autowire:no(默认)、byName、byType、constructor以及autodetect,使用哪一种默认绑定方式
    …等等

bean使用

id属性:每个注册到容器的对象唯一的标志
class属性:每个注册到容器的对象通过该属性指定其类型。
用name属性:可以定义一些id不能使用的字符。但是name并不是唯一的

<bean id="djNewsListener" class="..impl.DowJonesNewsListener"></bean>
<bean id="djNewsListener" name="/news/djNewslistener,dowJonesNewsListener" class="..impl.DowJonesNewsListener"></bean>

更详细的说明看《Spring 揭秘2》

bean的scope

scope用来声明容器中的对象的存活事件,当对象不在这些scope内时,容器会销毁该对象
spring的bean 的scope类型有:

  • singleton(单例模式)(默认):被标记的对象,在ioc容器只有一个共享实例,几乎与ioc容器一样的寿命
  • prototype(原型模式):每次请求都会生成一个新的对象实例,但是容器不负责该对象的销毁,由请求对象负责。
  • request、session、global session类型,只适用于web应用程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值