Spring4.0可以为子类注入子类的泛型类型,成员变量的引用
BaseService<T>:有RoleService和UserService两的子类
BaseRepepositry<T>:有UserRepository和RoleRepositry两个子类
因为BaseService<T>继承 BaseRepepositry<T> ,得出下面的子类也存在这样的关系
代码:
User.java
BaseService.java
UserService.java
BaseRepository.java
UserRepository.java
Main.java
输出结果:
BaseService<T>:有RoleService和UserService两的子类
BaseRepepositry<T>:有UserRepository和RoleRepositry两个子类
因为BaseService<T>继承 BaseRepepositry<T> ,得出下面的子类也存在这样的关系
代码:
User.java
public class User {
}BaseService.java
import org.springframework.beans.factory.annotation.Autowired;
public class BaseService<T> {
@Autowired
protected BaseRepository<T> repository;
public void add(){
System.out.println("adding....");
System.out.println(repository);
}
}UserService.java
import org.springframework.stereotype.Repository;
@Repository
public class UserService extends BaseService<User>{
}BaseRepository.java
public class BaseRepository<T> {}UserRepository.java
import org.springframework.stereotype.Repository;
@Repository //交给IOC容器来管理
public class UserRepository extends BaseRepository<User>{}Main.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserService userService = (UserService) applicationContext.getBean("userService");
userService.add();
}
}输出结果:
adding....
com.spring.txing.UserRepository@7174d93a
本文详细介绍了如何在Spring4.0中实现子类注入子类的泛型类型,通过具体代码实例展示了BaseService<T>和BaseRepository<T>之间的继承关系,以及UserService和UserRepository的具体应用。
601

被折叠的 条评论
为什么被折叠?



