Spring 泛型依賴注入


BaseService<T>:有RoleService和UserService兩的子類

BaseRepepositry<T>:有UserRepository和RoleRepositry兩個子類

由於BaseService<T>和BaseRepepositry<T>有關系所以,得出下面的子類也存在這樣的關系

 

具體代碼

1、User.java

1 package com.proc.bean;
2 
3 public class User {
4 
5 }

 

2、BaseRepository.java

1 package com.proc.repository;
2 
3 public class BaseRepository<T> {
4 
5 }

 

3、BaseService.java

 1 package com.proc.service;
 2 
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 
 5 import com.proc.repository.BaseRepository;
 6 
 7 public class BaseService<T> {
 8 
 9     @Autowired
10     protected BaseRepository<T> baseRepository;
11     
12     public void save(){
13         System.out.println("save ………………");
14         System.out.println(baseRepository);
15     }
16 }

 

4、UserRepository.java

 1 package com.proc.repository;
 2 
 3 import org.springframework.stereotype.Repository;
 4 
 5 import com.proc.bean.User;
 6 
 7 @Repository
 8 public class UserRepository extends BaseRepository<User> {
 9 
10 }

 

5、UserService.java

 1 package com.proc.service;
 2 
 3 import org.springframework.stereotype.Service;
 4 
 5 import com.proc.bean.User;
 6 
 7 @Service
 8 public class UserService extends BaseService<User>{
 9     
10 }

 

6、xml配置

<context:component-scan base-package="com.proc" />

 

7、代碼測試

1 ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
2 UserService userService=(UserService) ctx.getBean("userService");
3 userService.save();

 

輸出結果:

save ………………
com.proc.repository.UserRepository@15bfd87

 

這里可以看到對象的類型為UserRepository


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM