一个接口难免会有多个实现类,不同的实现类有各自的需求,如何在项目中实现根据不同项目,自由切换实现类呢?
废话不多说,直接上代码,文末有源码,直接测试
1.接口代码
package com.cj.interfaces;
public interface ITestService {
void test();
}
2.实现类1,使用@Service,且其中指定bean的名字为“s1”
package com.cj.interfaces;
import org.springframework.stereotype.Service;
@Service("s1")
public class TestServiceImpl1 implements ITestService {
@Override
public void test() {
System.out.println("接口1实现类 ...");
}
}
3.实现类2,使用@Service,啥都不指定,使用默认
package com.cj.interfaces;
import org.springframework.stereotype.Service;
@Service
public class TestServiceImpl2 implements ITestService {
@Override
public void test() {
System.out.println("接口2实现类 ...");
}
}
4.实现类3,依旧使用@Service,同时指定bean的注入名称为“s3”
package com.cj.interfaces;
import org.springframework.stereotype.Service;
@Service("s3")
public class TestServiceImpl3</