Spring bean实现接口多实现的使用(更新中)

苏友朋

发布于 2018.03.06 11:09 阅读 2626 评论 1

Spring bean实现接口多实现的使用

 

 

接口类

package com.jtexplorer.service;

public interface TestService {

    void putStr();

}

 

实现类一

package com.jtexplorer.service.impl;

import com.jtexplorer.service.TestService;

public class TestServiceImplOne implements TestService {

    @Override

    public void putStr() {

        System.out.println("实现类一");

    }

}

 

实现类二

package com.jtexplorer.service.impl;

import com.jtexplorer.service.TestService;

public class TestServiceImplTwo implements TestService {

    @Override

    public void putStr() {

        System.out.println("实现类二");

    }

}

 

spring配置文件bean

<bean id="testServiceImplOne" class="com.jtexplorer.service.impl.TestServiceImplOne"/>

<bean id="testServiceImplTwo" class="com.jtexplorer.service.impl.TestServiceImplTwo"/>

 

 

使用方式一(通过Resource的name属性进行分辨):(注:在同一个类中时)

@Resource(name = "testServiceImplOne")

private TestService testService1;

@Resource(name = "testServiceImplTwo")

private TestService testService2;

 

 

 

使用方式一(通过Resource的name属性进行分辨):(注:在不同的类中时)

第一个类:

@Resource(name = "testServiceImplOne")

private TestService testService;

第二个类:

@Resource(name = "testServiceImplTwo")

private TestService testService;

 

 

使用方式二(通过对象名进行分辨):

@Resource

private TestService testServiceImplOne;

@Resource

private TestService testServiceImplTwo;