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