`
mayday85
  • 浏览: 46232 次
  • 性别: Icon_minigender_1
  • 来自: 污点星狗屎国
文章分类
社区版块
存档分类
最新评论

一种非常蹩脚的万用泛型service实现

阅读更多

写完我自己已经吐了

@Service
public class PubManager<T, PK extends Serializable>{
	
	private SessionFactory sessionFactory;
	@Autowired
	private PubManagerImpl<T, PK> mgr;
	
	@Autowired  
    public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
    }

	public PubManagerImpl<T, PK> getI(Class<T> c){		
		if(null == mgr.getDAO()){
			mgr.setDao(new HibernateDao<T, PK>(sessionFactory ,c));
		}	
		return mgr;		
	}		
	
}


@Service
@Transactional
public class PubManagerImpl<T, PK extends Serializable> extends AbsManager<T, PK>  implements absMgr<T, PK> {
	
	private HibernateDao<T, PK> dao;	
	
	@Override
	public HibernateDao<T, PK> getDAO() {		
		return dao;
	}

	public void setDao(HibernateDao<T, PK> dao) {
		this.dao = dao;
	}
	
}

Controller
@RequestMapping("/xxx/xxxx")
public class XxxxXxxxXxxController {
	
	@Autowired  
	private CodeManager codeManager;
	
	@Autowired  
	private PubManager<XxxxxXxxxXxxx, String> pubManager;


@RequestMapping("allXxx")
public @ResponseBody Page<XxxxxXxxxXxxx> logs(){	
	return pubManager.getI(XxxxxXxxxXxxx.class).searchByPage();
}


需要获得运行时的Class<T>
感觉上是可以做到样子……

参照泛型DAO的写法
完全不行

人家也不是万用实现

求打通七筋八脉~

分享到:
评论

相关推荐

    Jdk15泛型的实现

    例如,如果一个泛型类声明了类型参数`T extends Comparable&lt;T&gt;`,那么`T`必须是一个实现了`Comparable`接口的类型。这确保了使用该泛型类时,其内部操作能够正确地进行比较和排序。 自定义泛型类或算法时,开发者...

    C#泛型实现单向链表实现

    本主题聚焦于使用C#语言通过泛型来实现一个单向链表。链表是一种非连续、非顺序存储的数据结构,由一系列节点(也称为元素或记录)组成,每个节点包含数据和指向下一个节点的引用。在C#中,泛型提供了一种方式,可以...

    Java反射泛型,实现数据库的动态增删改查等功能

    具体实现时,我们可以为每个数据库操作创建一个泛型方法,使用反射获取实体类的字段,根据字段生成对应的SQL语句片段。比如在插入操作中,我们可以遍历`T`的所有字段,构建一个`INSERT INTO table_name (field1, ...

    C#泛型,非泛型实现枚举

    在C#编程中,泛型和枚举是两种非常重要的概念。泛型提供了一种方式,使得代码可以处理多种数据类型,而无需为每种类型重复编写相同逻辑。枚举则是用于定义一组预定义的常量,便于表示一组相关的值。下面我们将详细...

    JdbcTemplate通用泛型Dao实现

    `JdbcTemplate`的泛型Dao实现是一种设计模式,目的是提高代码的可重用性和可维护性。通过定义一个泛型接口,我们可以创建一个通用的数据访问对象(DAO),这个DAO可以处理任何类型的实体类,只要它们遵循一定的规则...

    华科java实验-用泛型栈实现泛型队列

    试用java.util.Stack泛型栈作为父类,用另一个泛型栈对象作为成员变量,模拟实现一个泛型子类Queue,当存储元素的第1个栈的元素超过dump时,再有元素入队列就倒入第2栈。除提供无参构造函数Queue( )外,其它所有队列...

    泛型dao 泛型dao 泛型dao

    泛型Service:GenericService.java 与泛型dao没有区别 Service :PersonService.java 直接继承。 泛型serviceimpl与serviceimpl实现和dao层实现一样。 Action : SavePersonAction直接调用PersonService。 ...

    JAVA泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...

    C#【泛型】实现的【通用】结构体转字节数组

    C#【泛型】实现的【通用】结构体转字节数组,包含网上收集的网页参考资料、非通用的【StructTest】工程、泛型实现的通用【Struct2BytesGenericType】工程。 VS2010编译运行。

    C#泛型类、泛型方法、泛型接口、泛型委托的实例

    在C#编程中,泛型是一种强大的工具,它允许我们编写可重用的代码,同时保持类型安全性和高效性。本文将深入探讨泛型类、泛型方法、泛型接口和泛型委托,并通过实例来阐述它们的应用。 首先,我们来看泛型类。泛型类...

    用泛型实现aspnetpager分页的小程序

    【标题】"用泛型实现aspnetpager分页的小程序"是关于在ASP.NET中利用泛型技术来优化数据分页处理的一个实例。在Web开发中,数据分页是一种常见的需求,它能帮助用户更有效地浏览大量数据,提高网页加载速度。泛型则...

    泛型实现小例

    在Java编程语言中,泛型是一种强大的特性,它允许我们在编写代码时指定类型参数,从而提高了代码的灵活性、安全性和可重用性。本篇我们将深入探讨“泛型实现小例”这一主题,通过实际的例子来理解泛型的使用。 首先...

    自定义泛型实现元素交换

    在C#编程中,泛型是一种强大的特性,它允许我们创建可重用的类型安全的代码,能够处理多种数据类型。泛型集合是利用泛型概念来构建的,可以存储任何类型的对象,同时保持编译时类型检查的安全性。本话题主要探讨如何...

    简单的泛型模拟实现

    在Java编程语言中,泛型是一种强大的特性,它允许我们在编写代码时指定容器(如集合)可以存储的数据类型。这增强了代码的类型安全性和效率,防止了不兼容类型的对象被添加到集合中,并且在编译阶段就能捕获错误,而...

    c语言是如何实现泛型链表

    泛型链表允许程序员定义一种链表的数据结构,该数据结构能够存储任意类型的数据,而不必针对每种类型编写一个新的链表结构。这是通过在C语言中将链表操作与数据存储分离实现的。 首先,泛型链表的核心结构是list_...

    实现泛型类集合 实现双向链表

    本话题将探讨如何实现一个泛型类集合,特别是实现一个双向链表,并提供相关的方法,如求表长度。 首先,让我们理解什么是泛型类。泛型类是含有类型参数的类,它可以在创建对象时指定具体的类型,从而在编译时期就能...

    一种抽象泛型机制的新型Java实现.zip

    "一种抽象泛型机制的新型Java实现"的主题聚焦于对这一核心概念的创新性扩展或改进。通过分析这个主题和提供的PDF文档,我们可以深入探讨以下几个关键知识点: 1. **泛型的基本概念**:泛型是Java 5引入的特性,它...

    Java 实现泛型List

    Java 实现泛型List的源码,基本实现了List接口的全部所有方法。欢迎大家发表自己的观点和建议。

    一种抽象泛型机制的新型Java实现.pdf

    在标题中所提到的“新型Java实现”可能指的是Java泛型机制的某种改进或优化,即在原有基础上进行了一种新的实现方式,旨在提高程序的可重用性、可靠性和开发效率。 泛型程序设计是一种编程方法,它使用参数化类型的...

    JDK1.5的泛型实现.pdf

    JDK1.5的泛型实现.pdf

Global site tag (gtag.js) - Google Analytics