Spring注解方式配置和使用bean

本文介绍如何在Spring4中使用注解配置替代XML配置的方法。通过定义接口`CompactDisk`和其实现类`CompactDiskImpl`,展示了如何利用`@Component`注解将类注册为Bean,以及使用`@Configuration`和`@ComponentScan`进行配置类的声明和组件扫描。

自从Spring Boot出来以后,我们的配置文件几乎很少使用,因为我们基本上都会使用基于Java注解的配置方式,实际上,很多的框架,现在都支持使用使用注解来配置,如Servlet3.0。
实际上,我们的Spring2.5开始就支持注解的方式了,Spring4就更加不必要说了。
下面我们就来看看,Spring4是怎么不依赖于XML吧

首先我们定义一个接口

public interface CompactDisk {
    void play();
}

然后我们写他的实现类

//使用这个声明他是其他bean的组件,而且他是是一个bean,而且他会赋予bean一个默认的id(类名第一个字小写)
//也可以不默认,指定id值
//我们也可以使用@Name(),同时传入一个id作为这个bean的标识,
@Component
public class CompactDiskImpl implements CompactDisk {

    public void play() {
        System.out.println("cd is playing");
    }
}

上面的@Component注解的功能,告诉Spring这是一个组件,并在扫描后创建这个类Bean默认的id(类型第一个字母小写)

然后我们要告诉Spring扫描这组件。

@Configuration  //声明他是一个配置类。
@ComponentScan //声明它它就回扫描这这个类所在包,和这个包所有子包的有@component注解的类
public class CDConfig {


}

上面的@Component 默认是扫描这个类所在包中有以及这个包下所有子包邮@Bean或@Component

// 这个注解是告诉Junit,运行的时候加载spring的上下文
@RunWith(SpringJUnit4ClassRunner.class)
//这里告诉Spring,启动Spring上下文的时候扫描相应的配置,并把相应的bean放入容器
@ContextConfiguration(classes = CDConfig.class) 
public class Test {

    @Autowired
    private CompactDisk compactDisk;

    @org.junit.Test
    public void test(){
        compactDisk.play();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值