Spring Beans 自动装配
2023-09-14 09:03:08 时间
Spring 容器可以在不使用和 元素的情况下自动装配相互协作的 bean 之间的关系,这有助于减少编写一个大的基于 Spring 的应用程序的 XML 配置的数量。
By Name
使用By Name进行自动装配,beans.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.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-3.0.xsd">
<!-- Definition for textEditor bean -->
<bean id="textEditor" class="com.tutorialspoint.TextEditor"
autowire="byName">
<property name="name" value="Generic Text Editor" />
</bean>
<!-- Definition for spellChecker bean -->
<bean id="spellChecker" class="com.tutorialspoint.SpellChecker">
</bean>
</beans>
在配置文件中,如果一个 bean 定义设置为自动装配 byName,并且它包含 spellChecker 属性(即,它有一个 setSpellChecker(…) 方法),那么 Spring 就会查找ID为 spellChecker 的 bean,(叫byID更准确点)并且用它来设置这个属性。仍然可以使用 标签连接其余的属性。
输出:
如果把beans.xml的SpellChecker的ID改为SpellChecker2,则运行时会报NullPointerException:
如果非要将就beans.xml里的spellChecker2, 则TextEditor类里所有出现spellChecker的地方,都要改成spellChecker2才能正常工作。只改成员变量名不行。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- 77道Spring面试题以及参考答案(2021年最新版)
- Spring batch教程 之 spring batch简介
- Quartz SchedulerFactoryBean异常–Spring自动装配惹的祸
- 使用SchedulerFactoryBean集成Quarz Job与Spring
- spring/jackson:实现对保存JSON字符串的字段自动序列化和反序列化
- Spring之IOC自动装配
- 【09】Spring源码-分析篇-DI源码分析
- Spring(二)-生命周期 + 自动装配(xml) +自动装配(注解)
- 5分钟实现系统的自动伸缩【Jenkins+Spring Boot】
- Spring Boot 2.6 正式发布:循环依赖默认禁止、增加SameSite属性...
- Spring Cloud Gateway配置路由规则(三)
- 【愚公系列】2023年04月 Java教学课程 132-Spring框架的注解开发
- spring的自动装配基础详解编程语言
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理详解编程语言
- Spring自动装配Bean