第2章—装配Bean—通过java代码装配bean
通过java代码装配bean
在进行显式装配的时候,有两种选型方案:java和XML配置,这里先介绍java的配置方式.
2.3.1创建配置类
先复习下上一章的配置内容:
@Configuration
public class SgtPeppers implements CompactDisc {
private String title = "sgt";
private String song = "Twinkle, twinkle, little start";
public void play() {
System.out.println("title:" + title + "song:" + song);
}
}
这里我们移走了@ComponentScan的注解,只留下了@Configuration的注解,表明这个类是一个配置类,不包含如何实现bean的细节,如果单纯的这样运行的话,测试会失败并出现BeanCreation-Exception异常.测试期望被注入CDPlayer和CompactDisc,但是这些bean根本就没有创建,因为组件扫描不会发现他们.为了测试通过就需要加回@ComponentScan的注解.
2.3.2.声明简单的bean
我们要在javaConfig中声明bean,需要在方法上加上@Bean的注解,如下:
@Bean
public CompactDisc sgtPeppers(){
return new SgtPeppers();
}
默认情况下,bean的ID与带有@Bean的注解的方法名是一样的(本例子是sgtPeppers),如果你想设置成一个不同的名字的话,可以重命名为该方法指定bean的Name属性@Bean(name = "otherName")的方式来实现.
第2章—装配Bean—通过java代码装配bean的更多相关文章
- Spring装配Bean之Java代码装配bean
尽管通过组件扫描和自动装配实现Spring的自动化配置很方便也推荐,但是有时候自动配置的方式实现不了,就需要明确显示的配置Spring.比如说,想要将第三方库中的组件装配到自己的应用中,这样的情况下, ...
- Spring 之通过 Java 代码装配 bean
[关于IoC的几点认识] 1.面向接口编程 --> 每层只向上层提供接口 2.inversion of control (IoC) -->参考百度百科 3.DI是IoC的一种实现方式 [ ...
- Spring装配之——JAVA代码装配Bean
首先创建几个普通的JAVA对象,用于测试JAVA代码装配bean的功能. package soundsystemJava; //作为接口 定义了CD播放器对一盘CD所能进行的操作 public int ...
- Spring Boot 使用Java代码创建Bean并注册到Spring中
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/catoop/article/details/50558333 声明同一个类下的多个实例: packa ...
- Spring Boot 使用Java代码创建Bean并注冊到Spring中
从 Spring3.0 開始,添加了一种新的途经来配置Bean Definition,这就是通过 Java Code 配置 Bean Definition. 与Xml和Annotation两种配置方式 ...
- (41)Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】
已经好久没有讲一些基础的知识了,这一小节来点简单的,这也是为下节的在Spring Boot中使用多数据源做准备. 从Spring 3.0开始,增加了一种新的途径来配置Bean Definition,这 ...
- Spring学习系列(三) 通过Java代码装配Bean
上面梳理了通过注解来隐式的完成了组件的扫描和自动装配,下面来学习下如何通过显式的配置的装配bean 二.通过Java类装配bean 在前面定义了HelloWorldConfig类,并使用@Compon ...
- Spring实战——通过Java代码装配bean
上篇说的是无需半行xml配置完成bean的自动化注入.这篇仍然不要任何xml配置,通过Java代码也能达到同样的效果. 这么说,是要把上篇的料拿出来再煮一遍? 当然不是,上篇我们几乎都在用注解的方式如 ...
- Spring 通过Java代码装配bean
1. 背景 书接上文Spring自动化装配bean 尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化扫描配置是更为推荐的方式,但在有些情况下自动化扫描的方案行不通,如想要将第三方库中的组 ...
随机推荐
- 中心极限定理&&正态分布 随想
0-前言 笔者本来周末约好朋友出去骑行,不料天公不作美!哎,闲来无事来到了实验室,本来打算看看<天天向上>,而这一期又实在不好看(偶像剧).只好来做做一些小实验,脑海里突然想到“正态分布“ ...
- VMware虚拟机无法启动,提示“无法打开磁盘,未能锁定文件”
VMware在进入linux时,提示:无法打开磁盘 F:\Debian\Debian linux2.6.x kernel.vmdk 或者某一个快照所依赖的磁盘原因: 未能锁定文件 问题出现的原因:虚拟 ...
- 3:C#异步WaitAll的使用
编写界面如图: private async void button1_Click(object sender, EventArgs e) { #region 单个执行的异步,效率慢 HttpClien ...
- 字体变色详解链接:https://www.cnblogs.com/daofaziran/p/9015284.html
格式:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m 字体色 | 背景色 | 颜色描述 ------------------------------------------- 30 ...
- MySQL多线程备份工具mydumper 之 RDS外部实例迁移平台
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.Format_description_event问题: BINLOG ' kTXkUxMKAAAALQA ...
- 「HAOI2010」 弹飞绵羊
题目链接 戳我 \(Solution\) \(LCT\)裸题 我们首先先新建一个节\(n+1\)点,表示被弹飞 对于点\(i,link(i,min(n+1,i+k_i))\) 再看看修改: 现在要将点 ...
- iOS 应用隐藏状态栏
有时候在 Storyboard 和 target 里的设定并不足以使得应用能够完全隐藏状态栏. 这时候需要到 Info.plist,添加一项:View controller-based status ...
- “全栈2019”Java第一百零七章:匿名内部类与构造方法注意事项
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- idea IDE 导入的项目没有显示目录结构
解决方法:1.关闭 idea 2.删除该项目录下的 .idea 文件 3.重新 open 项目
- 洛谷P1393 动态逆序对(CDQ分治)
传送门 题解 听别人说这是洛谷用户的双倍经验啊……然而根本没有感觉到……因为另外的那题我是用树状数组套主席树做的……而且莫名其妙感觉那种方法思路更清晰(虽然码量稍稍大了那么一点点)……感谢Candy大 ...