教程 > spring 框架 > 阅读:95

spring 注入内部 bean——迹忆客-ag捕鱼王app官网

如你所知,java 内部类是在其他类的范围内定义的,类似地,内部 bean 是在另一个 bean 的范围内定义的 bean。 因此, 元素中的 元素称为内部 bean,如下所示。



   
      
         
      
   

示例

下面我们看一个示例,使用之前texteditor的示例。

下面是 texteditor.java 文件的内容

texteditor.java

package com.jiyik;
public class texteditor {
   private spellchecker spellchecker;
   
   // 用于注入依赖项的 setter 方法。
   public void setspellchecker(spellchecker spellchecker) {
      system.out.println("inside setspellchecker." );
      this.spellchecker = spellchecker;
   }
   
   // 返回 spellchecker 的 getter 方法
   public spellchecker getspellchecker() {
      return spellchecker;
   }
   public void spellcheck() {
      spellchecker.checkspelling();
   }
}

以下是另一个依赖类文件 spellchecker.java 的内容

spellchecker.java

package com.jiyik;
public class spellchecker {
   public spellchecker(){
      system.out.println("inside spellchecker constructor." );
   }
   public void checkspelling(){
      system.out.println("inside checkspelling." );
   }
}

以下是 mainapp.java 文件的内容

mainapp.java

package com.jiyik;
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,它具有基于 setter 的注入但使用内部 bean 的配置

beans.xml



   
   
      
         
      
   

创建完源代码和 bean 配置文件后,让我们运行应用程序。 如果应用程序一切正常,它将打印以下消息

inside spellchecker constructor.
inside setspellchecker.
inside checkspelling.

查看笔记

扫码一下
查看教程更方便
网站地图