🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # spring4 的新特性 --- 泛型注入 废话不多说, 直接上代码 1. 写一个实体类 ~~~ package generic; import java.io.Serializable; public class User implements Serializable{ private static final long serialVersionUID = 1L; private String name; private int age; //setter和getter } ~~~ 2. 公共 DAO:BaseDao(crud 都写在这里) ~~~ package generic; public abstract class BaseDao<T> { public void save(T t){ System.out.println("....."); } public void delete(){ System.out.println("...."); } } ~~~ 3. DAO 的具体实现: UserDa 继承 BaseDao ~~~ package generic; import org.springframework.stereotype.Repository; @Repository("userDao") public class UserDao extends BaseDao<User>{ } ~~~ 4. 创建基类service ~~~ package generic; import org.springframework.beans.factory.annotation.Autowired; public abstract class BaseService<T> { @Autowired private BaseDao<T> baseDao; public void save(T t){ baseDao.save(t); } } ~~~ 5. 创建userService ~~~ package generic; import org.springframework.stereotype.Service; @Service("userService") public class UserService extends BaseService<User>{ } ~~~ 大家可以看到现在的代码非常简洁, 在步骤新四中, 注入的时候 spring 会去自动去找 `BaseDao<User>`的子类实现并注入