自动装配bean【Spring 入门】

来源:互联网 发布:php get 参数隐藏 编辑:程序博客网 时间:2024/06/04 19:18

Spring中bean的装配有三种配置方式,我们应该尽可能的使用自动装配的机制,显示配置越少越好。

自动装配要用到的注解:

@Component   表明该类为组件类,并告知Spring要为这个类创建bean。

@Autowired  根据类型,为成员变量、构造方法或其他方法自动装配bean。

@ComponentScan  在Spring中启用自动扫描

下面通过代码来说明这几个注解的用法:

组件类:

package com.yykj.soundsystem;import org.springframework.stereotype.Component;@Component("sgt")//括号内为组件名,可以不写,默认为类名小写首字母public class Mayday implements CompactDisc {    public void play(){        System.out.print("Play");    }}
Java配置类:
package com.yykj.soundsystem.config;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan(basePackages = "com.yykj.soundsystem")//自动扫描的基础包public class CDPlayerConfig {}
单元测试类:
package com.yykj.soundsystem;import com.yykj.soundsystem.config.CDPlayerConfig;import org.junit.*;import org.junit.contrib.java.lang.system.StandardOutputStreamLog;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;@RunWith(value=SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = CDPlayerConfig.class)public class CDPlayerTest {    @Rule    public final StandardOutputStreamLog log = new StandardOutputStreamLog();    @Autowired    private CompactDisc cd;    @Autowired    private MediaPlayer player;    @Test    public void cdShouldNotBeNull(){        Assert.assertNotNull(cd);    }    @Test    public void TestPlay(){        player.play();        Assert.assertEquals(log.getLog(), "Play");    }}

0 0
原创粉丝点击