专栏首页Jerry的SAP技术分享Spring 基于 Java 的配置 - 如何不用Beans.xml照样描述bean之间的依赖关系

Spring 基于 Java 的配置 - 如何不用Beans.xml照样描述bean之间的依赖关系

看个具体的例子:首先是配置类,该类的作用相当于Spring常规依赖维护里的Beans.xml:

import org.springframework.context.annotation.*;
@Configuration
public class TextEditorConfig {
   @Bean 
   public TextEditor textEditor(){
      return new TextEditor( spellChecker() );
   }
   @Bean 
   public SpellChecker spellChecker(){
      return new SpellChecker( );
   }
}

TextEditor对SpellChecker的依赖,还是通过构造函数注入:

public class TextEditor {
   private SpellChecker spellChecker;
   public TextEditor(SpellChecker spellChecker){
      System.out.println("Inside TextEditor constructor." );
      this.spellChecker = spellChecker;
   }
   public void spellCheck(){
      spellChecker.checkSpelling();
   }
}

MainApp.java:

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;

public class MainApp {
   public static void main(String[] args) {
      ApplicationContext ctx = 
      new AnnotationConfigApplicationContext(TextEditorConfig.class);

      TextEditor te = ctx.getBean(TextEditor.class);

      te.spellCheck();
   }
}

同样,这个TextEditorConfig也是被SpringCGLib动态增强过:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring 基于构造函数的依赖注入

    当容器调用带有一组参数的类构造函数时,基于构造函数的依赖注入就完成了,其中每个参数代表一个对其他类的依赖。

    Jerry Wang
  • Java代理设计模式(Proxy)的四种具体实现:静态代理和动态代理

    面试问题:Java里的代理设计模式(Proxy Design Pattern)一共有几种实现方式?这个题目很像孔乙己问“茴香豆的茴字有哪几种写法?”

    Jerry Wang
  • How do I know that Association is internally implemented by inner join or outer association

    How do I know that Association is internally implemented by inner join or outer ...

    Jerry Wang
  • 关于网站漏洞修复的相关问题解答

    A:最先对系统漏洞开展等级分类,不一样的系统漏洞设定不一样的安全隐患等级。系统漏洞的修复也是有多种多样方法,根据形成根本原因从根本原因修复、设定主机iptabl...

    技术分享达人
  • 网站漏洞修复答疑相关解决办法

    A:最先对系统漏洞开展等级分类,不一样的系统漏洞设定不一样的安全隐患等级。系统漏洞的修复也是有多种多样方法,根据形成根本原因从根本原因修复、设定主机iptabl...

    网站安全专家
  • Spring 基于构造函数的依赖注入

    当容器调用带有一组参数的类构造函数时,基于构造函数的依赖注入就完成了,其中每个参数代表一个对其他类的依赖。

    Jerry Wang
  • 渗透测试中网站代码漏洞审计服务

    渗透测试系统漏洞如何找到:在信息收集的根本上找到目标软件系统的系统漏洞。系统漏洞找到我来为大伙儿梳理了4个层面:框架结构模块透明化系统漏洞:依据所APP的的框架...

    技术分享达人
  • 渗透测试中网站代码漏洞审计服务

    渗透测试系统漏洞如何找到:在信息收集的根本上找到目标软件系统的系统漏洞。系统漏洞找到我来为大伙儿梳理了4个层面:框架结构模块透明化系统漏洞:依据所APP的的框架...

    网站安全专家
  • 第三阶段-Java常见对象:【第八章 System类】

    System.gc() 可用于垃圾回收.当使用System.gc() 回收某个对象所占用的内存之前,通过要求程序调用适当的方法来清理资源,在没有明确指定资源清理...

    BWH_Steven
  • 那些年我们用Java写过的小游戏 --- 快速击键系统

    训练技能点 面向对象设计的思想 使用类图理解类的关系 类的封装 构造方法的使用 this、static关键字的使用 需求概述 根据输入速率和正确率将玩家分为不同...

    房上的猫

扫码关注云+社区

领取腾讯云代金券