zoukankan      html  css  js  c++  java
  • 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 结果:

     测试通过

  • 相关阅读:
    CentOS6 破解登录密码
    CentOS 添加硬盘创建并挂载分区
    CentOS 安装开发工具包
    CentOS vim的使用
    CentOS tcpdump的使用实例
    CentOS7没有ifconfig/route/arp/netstat等命令的解决方案
    CentOS 查看系统 CPU 个数、核心数、线程数
    Linux系统中的load average
    Python基础-shelve模块
    Python基础-configparser和hashlib模块
  • 原文地址:https://www.cnblogs.com/mibing/p/11502752.html
Copyright © 2011-2022 走看看