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

     测试通过

  • 相关阅读:
    百分点零售行业大数据解决方案
    百分点用户标签管理系统
    百分点个性化系统解决方案
    百分点数据洞察系统解决方案
    来学学数据分析吧(二)第一章 预测和关联数量特征
    来学学数据分析吧(一)
    生产者和消费者问题学习以及Java实现
    java中的双重锁定检查(Double Check Lock)
    python学习(十四)面向对象
    python学习(十二)模块
  • 原文地址:https://www.cnblogs.com/mibing/p/11502752.html
Copyright © 2020-2023  润新知