Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件

Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件,第1张

概述1 Autowire自动装配1.1 使用:只需在<bean>中使用autowire元素<bean id="student" class="com.kej

1 autowire自动装配
1.1 使用:只需在<bean>中使用autowire元素
<bean ID="student"
p:name="Tony" autowire="byname"></bean>

1.2 类型 
byname 目标bean的ID与属性名一置,若不匹配置为null
byType 根据引用类型,若有多个bean无法装配,会抛异常
constructor(不推荐)

1.3 自动装配的缺点
若使用autowire装配bean ,则会装配全部属性;
autoname和autoType不能混合使用;
实际项目一般少用到

2 bean之间的关系
2.1 继承关系
2.1.1 可使用<bean>的parent属性配置继承父类(模板)
2.1.2 子Bean可以继承父bean的属性,也可以覆盖部分属性
2.1.3 父bean可以作为实例,也可以作为模板,可以设置<bean>的abstract=true,则该bean为抽象Bean,
不能被实例化,
2.1.4 父bean若没有设置任何属性,则默认为abstract

<bean ID="subject"  
p:ID="1" p:name="Chinese" abstract="true"></bean>

<bean ID="subject2"  
parent="subject" p:ID="2" p:name="History"></bean>


2.2 依赖关系
2.2.1 Spring允许通过使用depends-on属性设定bean的前置bean,依赖的bean必须在本bean实例化前创建好
2.2.2 如果依赖多个bean,可以使用逗号或空格的方式隔开
<!-- bean的依赖关系 -->
<bean ID="student"
p:name="Tim" p:subject-ref="subject3"></bean>

3 bean的作用域
3.1 默认为singleton,创建容器时就实例化好,每次获取时返回同一个实例
<bean ID="car"
p:brand="ToYoTa" p:corp="GuangZhou" p:price="15" scope="prototype"></bean>

3.2 可以使用scope进行配置

4 使用外部属性文件
4.1 bean配置有时需要系统部署信息,如文件路径、数据源配置信息等,需要将其与bean配置文件分离
4.2 Spring 提供了一个 PropertyPlaceholderConfigurer 的 beanfactory 后置处理器,可以使用外部属性文件,使用${var}
4.3 spring2.5后,可通过<context:property-placeholder> 直接使用PropertyPlaceholderConfigurer ,使用locaiton属性指明配置文件路径,需要引入context schema
<!-- 引入外部属性文件 -->
<context:property-placeholder location="db.propertIEs"/>

db.propertIEs与propertIEs.xml必须同级目录,否则会报错,

class path resource [db.propertIEs] cannot be opened because it does not exist

 

 

<!-- 使用外部属性配置文件-->
<context:property-placeholder location="classpath:db.propertIEs"/>
<bean ID="datasource2" >
<!-- 为属性赋值 赋值位置必须使用jdbc.username这种形式,否则输出用户名为administrator,同时db.propertIEs也必须为jdbc.username这种形式-->
<property name="username" value="${jdbc.username}"></property>
<property name="passWord" value="${jdbc.passWord}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="driverClass" value="${jdbc.driverClass}"></property>
</bean>

总结

以上是内存溢出为你收集整理的Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件全部内容,希望文章能够帮你解决Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1226852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存