zoukankan      html  css  js  c++  java
  • bean 装配

    1.装配方式

    (1)在xml进行显式装配

    (2)在java中进行显式装配

    (3)隐式的bean发现机制和自动装配

    2.装配方式(3)实现

    (1)创建bean

    /**
    * @component告诉spring要为这个类创建bean,同时可以为bean设置别名,默认为类名首字母小写
    */
    @Component("sgtPeppers")
    public class SgtPeppers implements CompactDisc {
    public void play() {

    }
    }

    (2)启用组件扫描

    /**
     * @componentScan设置spring扫描组件的包路径,默认为与配置文件即本类相同包及其子类,可以通过包路径设置也可以通过类或接口设置
     */
    @Configuration
    @ComponentScan(basePackages = "cn.edu.service.impl")
    public class CdPlayConfig {
    }

    注:使用xml配置文件也可以启用组件扫描

    (3)自动装配

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = CdPlayConfig.class)
    public class PlayTest {
        //实现自动装配
        @Autowired
        private CompactDisc com;
    
        @Test
        public void test(){
            assertNotNull(com);
        }
    }

    3.装配方式(2)实现

    /**
     * @Configuration表明该类是一个配置类。
     */
    @Configuration
    public class CdPlayConfig {
        //告诉bean返回一个对象,并且该对象注册到spring应用上下文的bean
        @Bean(name="compactDist")
        public CompactDisc getDisc(){
            return new SgtPeppers();
        }
        public CDPlayer getplayer(){
            //注入bean
            return new CDPlayer(getDisc());
        }
    }

    (3)装配方式(1)实现

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <beans>
    <bean id = "compactDisc" class="cn.edu.pojo.CDPlayer">
    <!--通过配置配件给构造器注入值,还可以给属性中的值注入值-->
    <constructor-arg ref=""/>
    </bean>
    </beans>

    </beans>
  • 相关阅读:
    钉钉C# 使用数据接口要注意的问题
    两个比较快的DNS
    钉钉考勤组信息
    Sqlserver直接附加数据库和设置sa密码
    SQL Server 2016 附加数据库提示创建文件失败如何解决
    FastJson用法
    钉钉开发平台文档
    Sqlserver脚本创建登录名密码
    string 与 stringbuilder效率相差很大
    C# RichTextBox插入带颜色数据
  • 原文地址:https://www.cnblogs.com/yxqing/p/10749053.html
Copyright © 2011-2022 走看看