spring中bean的xml注入方式

遇到一个使用xml文件进行bean注入,实现往一个bean中注入实例,逻辑如下:

A,B两个类都继承同一个接口,不给A类添加注解,而是使用xml文件生成bean,xml文件将A类设为bean,并添加属性properties,properties中标明ref为B类、C类、D类等,B类需要添加注解,生成bean。A类中可以直接使用properties,是一个list,list中是ref的实例。此时,在A类中可以直接使用B类,不用注入,直接使用。

先跑A类,在A类中调用B类、C类、D类等。

class A{
   
    List<interfaceA> use;
    
    ...
}
@Component

class B implement interfaceA{...}

@Component

class C implement interfaceA{...}

@Component

class D implement interfaceA{...}
<bean id="beanname"
    class="com.path.class.A">
        <property name="use">
            <list>
                <ref bean="B"/>
                <ref bean="C"/>
                <ref bean="D"/>
            </list>
        </property>
    </bean>

使用bean的页面上

class C {
    @Autowired(name = "beanname")
    private A a;
    ...
}

properties相当于将一个类注入进去当成是外部bean的属性。ref相当于引用,注入bean。

ref是注入实例,name是注入值。

经验分享 程序员 微信小程序 职场和发展