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 结果:

     测试通过

  • 相关阅读:
    pylab
    通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证
    PRIMUS
    Ubuntu 下安装AMBER10/AmberTools 1.2
    SUPCOMB
    biopython
    python IDE
    SASREF
    PEAK
    ANDROID移植: WIFI设计原理(源码分析
  • 原文地址:https://www.cnblogs.com/mibing/p/11502752.html
Copyright © 2011-2022 走看看