1、定义基础仓库
- package com.spring.generic.di;
- public class BaseRepository<T> {
- }
2、定义基础服务层
- package com.spring.generic.di;
- import org.springframework.beans.factory.annotation.Autowired;
- public class BaseService<T> {
- @Autowired
- protected BaseRepository<T> repository;
- public void add(){
- System.out.println("add...");
- System.out.println(repository);
- }
- }
3、定义 User 服务层
- package com.spring.generic.di;
- import org.springframework.stereotype.Service;
- @Service
- public class UserService extends BaseService<User>{
- }
4、定义仓库服务层
- package com.spring.generic.di;
- import org.springframework.stereotype.Repository;
- @Repository
- public class UserRepository extends BaseRepository<User>{
- }
5、测试类
- package com.spring.generic.di;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class Main {
- public static void main(String[] args) {
- ApplicationContext ctx = new ClassPathXmlApplicationContext("bean-generic.xml");
- UserService userService = (UserService)ctx.getBean("userService");
- userService.add();
- }
- }
来源: http://www.bubuko.com/infodetail-1963853.html