spring 装载list

1.需要装list的类

public class Test {

    private List<TestInterface> testInterface;
}

2.接口

public interface TestInterface{
    public void sayHello();
}

3.装载方式

第一种:xml直接注入

实现接口

public class Test1 implements TestInterface {

    public void sayHello() {
        System.out.println("111111111111111");
    }
}


public class Test2 implements TestInterface {

    public void sayHello() {
        System.out.println("2222222222222222222222");
    }
}

在xml 里面如下配置:

<bean class="com.demo.Test">
    <property name = "testInterface">
        <list>
            <bean class = "com.demo.Test1"/>
            <bean class = "com.demo.Test2"/>
        </list>    
    </property>
</bean>

即可装载成功

第二种:注解装载

@Component
public class Test1 implements TestInterface {

    public void sayHello() {
        System.out.println("111111111111111");
    }
}

@Component
public class Test2 implements TestInterface {

    public void sayHello() {
        System.out.println("2222222222222222222222");
    }
}

直接使用@Autowired或者@Resource注入
public class Test {
    
    @Autowired
    private List<TestInterface> testInterface;
}

第三种:xml util:list装载

在xml里面如下配置

<util:list id = "testList" list-class="java.util.ArrayList" >
    <bean class = "com.demo.Test1"/>
    <bean class = "com.demo.Test2"/>
</util:list>

在使用的地方注入,只能用@Resource注入,而且变量名称必须和xml中的util:list的声明的id一样

public class Test {
    
    //无法注入 报错
    @Autowired
    private List<TestInterface> testInterface;

    //无法注入 报错
    @Autowired
    private List<TestInterface> testList;
    
    //无法注入 报错
    @Resource
    private List<TestInterface> testInterface;

    //注入成功
    @Resource
    private List<TestInterface> testList;
}

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值