Spring 自动装配 `byName`

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】
> 作者:w3cschool > > 来源:https://www.w3cschool.cn ------- ## Spring 自动装配 ‘byName’ ## 这种模式由属性名称指定自动装配。Spring 容器看作 beans,在 XML 配置文件中 beans 的 *auto-wire* 属性设置为 *byName*。然后,它尝试将它的属性与配置文件中定义为相同名称的 beans 进行匹配和连接。如果找到匹配项,它将注入这些 beans,否则,它将抛出异常。 例如,在配置文件中,如果一个 bean 定义设置为自动装配 *byName*,并且它包含 *spellChecker* 属性(即,它有一个 *setSpellChecker(...)* 方法),那么 Spring 就会查找定义名为 *spellChecker* 的 bean,并且用它来设置这个属性。你仍然可以使用 标签连接其余的属性。下面的例子将说明这个概念。 让我们在恰当的位置使用 Eclipse IDE,然后按照下面的步骤来创建一个 Spring 应用程序: | 步骤|描述| | :-----: | :-----: | | 1 | 创建一个名称为SpringExample的项目,并且在已创建的项目的src文件夹中创建一个包com.tutorialspoint。 | | 2 | 使用AddExternalJARs选项,添加所需的Spring库,在SpringHelloWorldExample章节中已说明。 | | 3 | 在com.tutorialspoint包中创建Java类TextEditor,SpellChecker和MainApp。 | | 4 | 在src文件夹中创建Beans的配置文件Beans.xml。 | | 5 | 最后一步是创建所有Java文件和Bean配置文件的内容,并运行该应用程序,正如下面解释的一样。 | 这里是 **TextEditor.java** 文件的内容: ``` package com.tutorialspoint; public class TextEditor { private SpellChecker spellChecker; private String name; public void setSpellChecker( SpellChecker spellChecker ){ this.spellChecker = spellChecker; } public SpellChecker getSpellChecker() { return spellChecker; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void spellCheck() { spellChecker.checkSpelling(); } } ``` 下面是另一个依赖类文件 **SpellChecker.java** 的内容: ``` package com.tutorialspoint; public class SpellChecker { public SpellChecker() { System.out.println("Inside SpellChecker constructor." ); } public void checkSpelling() { System.out.println("Inside checkSpelling." ); } } ``` 下面是 **MainApp.java** 文件的内容: ``` package com.tutorialspoint; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); TextEditor te = (TextEditor) context.getBean("textEditor"); te.spellCheck(); } } ``` 下面是在正常情况下的配置文件 **Beans.xml** 文件: ``` ``` 但是,如果你要使用自动装配 “byName”,那么你的 XML 配置文件将成为如下: ``` ``` 一旦你完成了创建源代码和 bean 的配置文件,我们就可以运行该应用程序。如果你的应用程序一切都正常,它将打印下面的消息: ``` Inside SpellChecker constructor. Inside checkSpelling. ```
赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » Spring 自动装配 `byName`

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏