Spring装配之——JAVA代码装配Bean
首先创建几个普通的JAVA对象,用于测试JAVA代码装配bean的功能。
package soundsystemJava; //作为接口 定义了CD播放器对一盘CD所能进行的操作
public interface CD {
void play();
}
package soundsystemJava;
//接口的一个实现
public class CDTest1 implements CD { private String title = "十一月的肖邦";
private String artist = "JayZhou"; public void play() {
System.out.println("正在播放:" + title + ",由" + artist + "演唱");
}
}
package soundsystemJava;
//播放CD
public class CDPlayer {
private CD cd;
public CDPlayer(CD cd) {
this.cd = cd;
} public void play() {
cd.play();
}
}
准备工作做好之后,我们现在利用JAVA代码来装配bean:
package soundsystemJava; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
public class CDPlayerConfig {
//@Bean 注解会告诉Spring这个方法将会返回一个对象
//方法体中可包含最终产生bea实例的逻辑
//默认情况下,bean的ID与方法名一样
//@Bean(name="....")指定其他的名字
@Bean
public CD cdTest1() {
return new CDTest1();
} //注入方式之一
/*@Bean
public CDPlayer cdPlayer() {
return new CDPlayer(cdTest1());
}*/ //注入方式之二 通常是引用其他bean的最佳选择
@Bean
public CDPlayer cdPlayer(CD cd) {
return new CDPlayer(cd);
}
}
进行简单的JUnit测试:
package soundsystemJava; import static org.junit.Assert.*; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; //用于在测试开始时自动创建Spring上下文
@RunWith(SpringJUnit4ClassRunner.class)
//告诉上下文需要在CDPlayerConfig中加载配置
@ContextConfiguration(classes = { CDPlayerConfig.class })
public class CDPlayerTest {
//自动装配
@Autowired
private CDPlayer player; @Autowired
private CD cd; @Test
public void cdShoildNotBeNull() {
assertNotNull(cd);
} @Test
public void play() {
player.play();
}
}
测试结果:
正在播放:十一月的肖邦,由JayZhou演唱

通过测试,装配成功。
Spring装配之——JAVA代码装配Bean的更多相关文章
- Spring 之通过 Java 代码装配 bean
[关于IoC的几点认识] 1.面向接口编程 --> 每层只向上层提供接口 2.inversion of control (IoC) -->参考百度百科 3.DI是IoC的一种实现方式 [ ...
- 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
上篇说的是无需半行xml配置完成bean的自动化注入.这篇仍然不要任何xml配置,通过Java代码也能达到同样的效果. 这么说,是要把上篇的料拿出来再煮一遍? 当然不是,上篇我们几乎都在用注解的方式如 ...
- 21.Spring Boot 使用Java代码创建Bean并注册到Spring中
转自:https://blog.csdn.net/catoop/article/details/50558333
- 第2章—装配Bean—通过java代码装配bean
通过java代码装配bean 在进行显式装配的时候,有两种选型方案:java和XML配置,这里先介绍java的配置方式. 2.3.1创建配置类 先复习下上一章的配置内容: @Configurati ...
- Spring学习系列(三) 通过Java代码装配Bean
上面梳理了通过注解来隐式的完成了组件的扫描和自动装配,下面来学习下如何通过显式的配置的装配bean 二.通过Java类装配bean 在前面定义了HelloWorldConfig类,并使用@Compon ...
- Spring装配Bean之Java代码装配bean
尽管通过组件扫描和自动装配实现Spring的自动化配置很方便也推荐,但是有时候自动配置的方式实现不了,就需要明确显示的配置Spring.比如说,想要将第三方库中的组件装配到自己的应用中,这样的情况下, ...
随机推荐
- CN Internet
来自为知笔记(Wiz)
- 1.4-动态路由协议OSPF②
LAB2.通过反掩码控制有哪些接口,在运行OSPF ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ step1:启动OSPF,并宣告网络: R1(config ...
- Spark SQL CLI 实现分析
背景 本文主要介绍了Spark SQL里眼下的CLI实现,代码之后肯定会有不少变动,所以我关注的是比較核心的逻辑.主要是对照了Hive CLI的实现方式,比較Spark SQL在哪块地方做了改动,哪些 ...
- 国内APP漏洞扫描收费情况调查
概述 上一次分享了应用加固的评测后,很多人想看看漏洞扫描相关的对比数据.其实在选择市面上这些移动安全类的产品时,经常为各种复杂的数据而感到疑惑,不知道怎么来评判各自的性能以及价格,从而选择出一款性价比 ...
- oracle11g 手工建库步骤
#create oracle instance parameter vi initkevin.or db_name='kevin' memory_target=0 sga_max_size=5G sg ...
- LeetCode 690. Employee Importance (职员的重要值)
You are given a data structure of employee information, which includes the employee's unique id, his ...
- HDFS03
=====================HDFS数据块(block)===================== 文件被切分成固定大小的数据块 -------------> √默认数据块大小为6 ...
- basename与dirname命令解析【转】
本文转载自:http://blog.csdn.net/choice_jj/article/details/8766335 basename命令 语法:basename string [suffix] ...
- bzoj3332: 旧试题
这题就是最大生成树. 把两个点之间的期望建边排序. 把相同的期望一起做,那么在这个做之前,这些有着相同期望的点两两肯定不连,否则就输出No了. 相同的做完之后,再次for一遍check一下有没有两两之 ...
- 动态DNS——本质上是IP变化,将任意变换的IP地址绑定给一个固定的二级域名。不管这个线路的IP地址怎样变化,因特网用户还是可以使用这个固定的域名 这样看的话,p2p可以用哇
动态域名是因应网络远程访问的需要而产生的一项应用技术.因为没有固定IP,只能运用二级域名来应对经常变化的IP,动态域名的由来因此而产生. 它当前主要应用在:路由器.网络摄像机.带网络监控的硬盘录像机. ...