1 spring如何通过组件扫描和自动装配实现自动化的配置
1 首先将spring依赖的包全部导入
2 建立测试接口
public interface CompactDisc {
void play();
}
3 具体的类实现接口
import org.springframework.stereotype.Component; import morningstar.spring.CompactDisc; /*
* @Component 注解用在类上表明该类会作为组件类使用,并且告知spring要为这个类创建bean*/
@Component
public class Stgpepers implements CompactDisc { private String title="sgt.peper's lnnely hearts club band";
private String artist="the beatles";
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("playing "+title+" by "+artist);
} }
4 创建配置类
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration; import morningstar.spring.entity.Stgpepers; @Configuration
@ComponentScan(basePackages = {"morningstar.spring.entity"})
public class CDPlayerConfig { /*
*@Configuration:
*@ComponentScan:在spring中启用组件扫描 */
}
5 建立测试:
//SpringJUnit4ClassRunner:测试开始的时候就创建spring的应用上下文
@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration注解告诉spring在CDPlayerConfig类中加载配置类
@ContextConfiguration(classes =CDPlayerConfig.class )
public class CDPlayerTest { @Autowired
private CompactDisc disc; @Rule
public final StandardErrorStreamLog log=new StandardErrorStreamLog();
@Autowired
private MediaPlayer player; @Test
public void cdShouldNotBeNull()
{
assertNotNull(disc);
System.out.println("success");
} @Test
public void player()
{
player.play();
}
}
6 结果:
测试通过
1 spring如何通过组件扫描和自动装配实现自动化的配置的更多相关文章
- Spring装配bean--01组件扫描和自动装配
Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系 Spring提供了三种主要的装配机制: 在XML中进行显式配置 在Java中进行显式配置 隐式的bean发现机制和自动装 ...
- Spring装配Bean之组件扫描和自动装配
Spring从两个角度来实现自动化装配: 组件扫描:Spring会自动发现应用上下文中所创建的bean. 自动装配:Spring自动满足bean之间的依赖. 案例:音响系统的组件.首先为CD创建Com ...
- Spring学习03(Bean的自动装配)
6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...
- spring框架学习(四)自动装配
set注入和构造注入有时在做配置时比较麻烦.所以框架为了提高开发效率,提供自动装配功能,简化配置.spring框架式默认不支持自动装配的,要想使用自动装配需要修改spring配置文件中<bean ...
- spring实战二之Bean的自动装配(非注解方式)
Bean的自动装配 自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bea ...
- IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置
1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...
- spring实战四之Bean的自动装配(注解方式)
使用注解装配: 从spring2.5开始,Spring启用了使用注解自动装配Bean的属性,使用注解方式自动装配与在XML中使用 autowire 属性自动装配并没有太大区别,但是使用注解方式允许更细 ...
- Spring - bean的autowire属性(自动装配)
当我们要往一个bean的某个属性里注入另外一个bean,我们会使用<property> + <ref/>标签的形式.但是对于大型项目,假设有一个bean A被多个bean引用注 ...
- Spring中的applicationContext.xml实现自动装配
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
随机推荐
- ubuntu 关于curses头文件问题
执行编译gcc -o badterm badterm.c -lcurses后报错情报如下:term.h: 没有那个文件或目录curses.h: 没有那个文件或目录很明显,程序找不到term.h和cur ...
- 【443】Tweets Analysis Q&A
[Question 01] When converting Tweets info to csv file, commas in the middle of data (i.e. locati ...
- 今天被这个BDE错误搞了半天,不过终于好了,分享一下
今天正编译程序时,突然就报了这个错误出来,重启电脑都没用,多亏网上高手指教,先把解决方案列于下,供受此累得朋友查阅,自己也留底供查找:"Shared memory conflict ($21 ...
- Delphi XE6 使用定时器或者线程解决程序界面无响应问题
---恢复内容开始--- 介绍 在手机应用上,我们不应该使用速度慢的代码,当然我们在桌面程序上也应该避免这个,当手机应用长时间没有相应的时候,程序会提示“程序没响应,是否关闭”的提示,这个非常不好,所 ...
- 【kubernetes secret 和 aws ecr helper】kubernetes从docker拉取image,kubernetes docker私服认证(argo docker私服认证),no basic auth credentials错误解决
aws ecr helper: https://aws.amazon.com/blogs/compute/authenticating-amazon-ecr-repositories-for-dock ...
- Cas(03)——Cas Server中各配置文件介绍
Cas Server中各配置文件介绍 Cas Server中所有的配置文件都是放在WEB-INF目录及其子目录下的. 在WEB-INF/classes下的配置文件有: l cas-theme-def ...
- jQuery插件——imgbox(点击图片查看大图)
需要的资源: 需要对应的js代码和css样式,大家可以通过www.htmldrive.net平台下载,也可以在我文章的底部下载.对应的资源如下,将资源引入页面(别忘了JQuery): 注意:jQuer ...
- centos7 install docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo y ...
- 使用静态方法CreateInstance()创建数组
Array类是一个抽象类,所以不能使用构造函数来创建数组.但除了可以使用C#语法创建数组的实例之外,还可以使用静态方法CreateInstance()创建数组. 如果事先不知道元素的类型,该静态方法就 ...
- [EF] - "已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭" 之解决
错误 解决 在 ConnectionString 中添加 MultipleActiveResultSets=true(适用于SQL 2005以后的版本).MultipleActiveResultSet ...