Spring的泛型依赖注入

泛型依赖注入:若两个父类有引用关系,它们的子类在继承的时候使用了同样的泛型,那么这两个子类也会有同样的引用关系,且使用的泛型为子类泛型。

如有两个父类BaseRepository和BaseService,BaseService会自动装配BaseRepository的bean并进行输出。

BaseRepository

public class BaseRepository {

}

BaseService

public class BaseService {

    @Autowired(required = false)
    protected BaseRepository repository;
    public void add(){
        System.out.println("add...");
        System.out.println(repository);
    }
}

现在用两个子类去继承这两个父类

UserRepository

@Repository
public class UserRepository extends BaseRepository {

}

UserService

@Service
public class UserService extends BaseService {
    public UserService() {
        System.out.println("constructor...");
    }
}

这两个自类在继承时使用同样的泛型String,当获取一个UserService的bean调用add方法时,输出的repository是UserRepository

运行结果

类之间的关系

Spring的泛型依赖注入_第1张图片

你可能感兴趣的:(Spring)