素材巴巴 > 程序开发 >

[spring学习]9、泛型依赖注入

程序开发 2023-09-11 15:08:58

基本介绍

        为了更好的管理有继承关系或者相互依赖的bean的自动装配,spring提供了基于泛型依赖的注入机制。当我们的继承关系非常复杂的时候,泛型依赖注入会体现出很大的优越性。


说明

        下面就是泛型依赖注入的大致关系图

所有的Dao类都继承BaseDao,而Service则是继承BaseService,通过指定泛型,实现自动注入


基本使用

        第一步,创建BaseDao和BaseService。注意:使用泛型依赖注入只能使用@Autowired

@Repository
 public abstract class BaseDao {
 }
public abstract class BaseService {@Autowiredpublic BaseDao baseDao;@Overridepublic String toString() {return "Dao:"+baseDao+"tService:"+this.getClass();}
 }

        第二步,创建User类和Manager类

public class User {
 }
 
public class Manager {
 }

        第三步,创建UserDao和ManagerDao继承BaseDao,指定泛型

@Repository
 public class UserDao extends BaseDao {
 }
@Repository
 public class ManagerDao extends BaseDao {
 }

        第四步,创建UserService和ManagerService继承BaseService,指定泛型

@Service
 public class UserService extends BaseService {
 }
 
@Service
 public class ManagerService extends BaseService {
 }

        创建测试方法,获取service

    @Testpublic void t1(){ApplicationContext ioc = new ClassPathXmlApplicationContext("beans.xml");UserService userService = ioc.getBean(UserService.class);ManagerService managerService = ioc.getBean(ManagerService.class);System.out.println(userService);System.out.println(managerService);}

         输出如下,成功实现了泛型依赖注入


总结

        泛型依赖注入就是为了更好的管理多个有继承关系关系之间的bean,利用泛型依赖注入可以对代码进行精简,将重复性的代码全部放到一个基类中,方便以后的修改和维护。


标签:

上一篇: ant的配置及使用 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。