@autowired 指定实现类
时间: 2023-08-06 22:12:18 浏览: 78
在使用 Spring 框架中,可以通过 `@Autowired` 注解指定实现类。具体方法如下:
1. 在接口上添加 `@Qualifier` 注解,指定实现类的名称:
```java
public interface FooService {
void doSomething();
}
@Service("fooServiceImplA")
public class FooServiceImplA implements FooService {
@Override
public void doSomething() {
System.out.println("FooServiceImplA do something.");
}
}
@Service("fooServiceImplB")
public class FooServiceImplB implements FooService {
@Override
public void doSomething() {
System.out.println("FooServiceImplB do something.");
}
}
```
2. 在需要注入的地方使用 `@Autowired` 注解,并指定 `@Qualifier`:
```java
public class Bar {
@Autowired
@Qualifier("fooServiceImplA")
private FooService fooServiceA;
@Autowired
@Qualifier("fooServiceImplB")
private FooService fooServiceB;
public void doBar() {
fooServiceA.doSomething();
fooServiceB.doSomething();
}
}
```
这样就可以指定注入 `FooServiceImplA` 和 `FooServiceImplB` 了。
阅读全文