Spring-framework-core-1.3

1.3Beans综述:
IOC容器管理所有的bean,Bean的创建由你提供给bean的配置信息创建
在容器本身中,这些bean定义被表示为BeanDefinition对象,期中包含以下数据
1.一个限定包类名:通常定义的bean的实现类
2.bean配置元素的行为: 在容器中bean应该如何表现(范围,生命周期,回调函数等等)
3.对于bean进行工作所需的其他bean的引用,这些引用也称作collaborators or dependencies.
4.在新创建的对象中设置的其他配置设置。例如:在管理连接池的bean中使用的连接数,或者池的大小限制
该元数据转换为组成每个bean定义的一组属性
Node:Bean元数据和手动提供的单利实例需要尽早注册,为了容器在自动装配和其他自省步骤中合适的解释他们。在某种程度上支持现有的元数据和现有的单例实例, 在运行时(与工厂的实时访问并发)的新bean的注册没有得到官方的支持,并且可能导致bean容器中的并发访问异常和/或不一致的状态
1.3.1 命名beans
每个bean都有一个或者多个标识符,在承载bean的容器中,这些标识符必须是唯一的。一个bean通常只有一个标识符,但是如果它需要多个,则其他的会被认为是别名
在基于xml配置元数据,你通常使用id 或者name属性去定义bean的标识符。id属性允许你指定一个id.通常这些名字是字母数字的,但是可能也包含特别的字符。如果你想添加别的别名给bean,你能在name属性中进行申明
Node: bean的id唯一性仍由容器执行,尽管不再由xml解析器执行
你不需要提供一个name或者id.如果没有name和id明确提供,容器会为这个bean生成独一无二的name.如果你想通过名字参考bean,通过使用ref元素或者Service Locator风格进行查找,你必须提供一个name
Bean的命名惯例:
约定是在命名bean时使用标准的Java约定的实例字段名。也就是说,bean的名称从小写字母开始,然后从那时起开始使用驼式。这样的名字的例子将是(没有引号)“accountManager”、“accountService”、“userDao”、“loginController”等等。
命名bean总是使您的配置更容易阅读和理解,如果您使用的是Spring AOP,那么在将通知应用到与名称相关的一组bean时,它会有很大帮助
Node: 通过在类路径中进行组件扫描,Spring为未命名的组件生成bean名称,遵循上面的规则:本质上,使用简单的类名并将其初始字符转换为小写字母。但是,在( 不寻常的)特殊情况下,当一个字符多于一个字符时,第一个字符和第二个字符都是大写的,那么原始的外壳就会保留下来
在基于xml的配置元数据中,您可以使用这个元素来完成别名任务。

<alias name="fromName" alias="toName"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值