看个具体的例子:首先是配置类,该类的作用相当于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动态增强过:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

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

  1. spring 基于java的配置

    2019独角兽企业重金招聘Python工程师标准>>> 7.10 Classpath scanning and managed componets 文档地址: http://docs ...

  2. Spring 基于 Java 的配置

    @Configuration 和 @Bean 注解 这两个注解一般配合使用. 带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源.@B ...

  3. spring java配置_Spring基于java的配置

    我们之前都了解过spring基于xml的配置,我们也可以通过配置类来完成基于xml的配置,我们会在下面以一个例子来讲述一下Spring基于java的配置. 首先第一步准备工作: 1)创建一个Dog类 ...

  4. Spring 基于Java配置

    到目前为止,您已经了解了如何配置使用XML配置文件的Spring bean.如果习惯使用XML配置,那么会说,这不是真的需要学习如何进行基于Java的配置,因为你要使用的配置或者可达到相同的结果. 基 ...

  5. 零配置 之Spring基于Java类定义Bean配置元数据

    转载自  [第十二章]零配置 之 12.4 基于Java类定义Bean配置元数据 --跟我学spring3 12.4  基于Java类定义Bean配置元数据 12.4.1  概述 基于Java类定义B ...

  6. spring java配置_Spring:使基于Java的配置更加优雅

    spring java配置 大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Sp ...

  7. Spring:使基于Java的配置更加优雅

    大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Spring配置. 尽管在3.0 ...

  8. Spring MVC:使用基于Java的配置创建一个简单的Controller

    这是我博客上与Spring MVC相关的第一篇文章. 开端总是令人兴奋的,因此我将尽量简洁明了. Spring MVC允许以最方便,直接和快速的方式创建Web应用程序. 开始使用这项技术意味着需要Sp ...

  9. 使用Spring 3.1和基于Java的配置构建RESTful Web服务,第2部分

    1.概述 本文介绍了如何在Spring中设置REST –控制器和HTTP响应代码,有效负载编组配置和内容协商. 2.在Spring了解REST Spring框架支持两种创建RESTful服务的方式: ...

最新文章

  1. 二维数组c语言矩阵加法,C 语言实例 – 两个矩阵相加 - C 语言基础教程
  2. 根据条件查找数组中的一条数据并放入缓存
  3. 多数据中心的百万级消息服务实战
  4. 访问者(Visitor)模式
  5. 46. Permutations (Back-Track,Sort)
  6. win10计算机启动一分钟重启,Win10开机提示电脑将在一分钟后自动重启怎么办?...
  7. 华为手机充满有提醒吗_2020手机充电速度排名:最快21分钟充满,华为第15名
  8. java.sql.connection 长时间不使用_车子长时间停放不使用,要做到这几点!不然报废是小,安全是大...
  9. 服务器网站管理页面打不开解决方法
  10. linux内核烧制,手机烧录自己编译的linux kernel
  11. 【PetShop 4.0学习】1.技术特点
  12. SqlServer数据库的语句及一些操作整理
  13. [效率小工具]MultiDesk
  14. 企业微信api调用报50001错误
  15. Linux 命令(244)—— reset 命令
  16. 手机在线测试黄疸软件,智能手机APP:可在几分钟内检测出新生儿黄疸
  17. 为什么阿里会选择 Flink 作为新一代流式计算引擎?
  18. 使用ActiveX实现的Web自定义查询-万能查询
  19. vnc远程控制软件,linux系统如何使用vnc远程控制软件,vnc客户端使用教程
  20. 文明重启哪个服务器最多,文明重启攻略 新手快速霸服技巧分享[多图]

热门文章

  1. matlab产生正态分布样本
  2. Fibonacci递归非递归方法
  3. 编程题:带参数的宏定义来实现,求圆的周长和面积。
  4. 将不确定变为确定~transactionscope何时提升为分布式事务?(sql2005数据库解决提升到MSDTC的办法)...
  5. Stack around the variable 'date' was corrupted.
  6. 老男孩最近几年常用的免费的开源软件
  7. 如何做好工程监理控制工作?
  8. 2. PHP赋值运算符
  9. springmvc学习(一)
  10. propertychange方法