public abstract class BaseAction<T> extends ActionSupport implements ModelDriven<T> {
// =============== ModelDriven的支持 ==================
protected T model;
public BaseAction() {
try {
// 通过反射获取model的真实类型
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
Class<T> clazz = (Class<T>) pt.getActualTypeArguments()[0];
// 通过反射创建model的实例
model = clazz.newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public T getModel() {
return model;
}
在以后写action的时候就可以直接的应用了public class className extends BaseAction<Object>
关键就是 父类通过泛型获得子类的对象
分享到:
相关推荐
在Java编程语言中,反射和泛型是两个非常重要的特性,它们在开发复杂和灵活的应用程序时发挥着关键作用。本资源"反射泛型完美版分页.rar"似乎提供了一个结合了这两种特性的分页解决方案,特别适用于处理大量数据的...
泛型DAO模式是基于Java泛型技术的一种设计模式,它在数据访问层提供了一种更为通用且灵活的方式来操作数据库。 传统的DAO模式通常需要为每一种数据实体类创建一个对应的DAO接口和实现类,这样会导致大量重复的代码...
反射是 Java 中的一种机制,允许开发者在运行时检查和修改类的行为。反射可以用于实例化对象、调用方法、获取字段值等场景。 多线程 多线程是 Java 中的一种并发机制,允许开发者创建多个线程并行执行任务。多线程...
【泛型DAO】是一种在Java开发中常见的设计模式,它利用了Java泛型特性来提高代码的可重用性和类型安全性。在Java中,DAO(Data Access Object)模式是用来封装对数据库的操作,将业务逻辑与数据访问逻辑分离,使得...
10. **Java泛型**:讲解泛型的引入、使用和好处,以及泛型类、泛型接口和泛型方法。 接下来,进入Web开发部分,这部分可能会包含: 1. **Servlet和JSP**:讲解Servlet的基本原理和生命周期,JSP的语法和EL表达式,...
泛型在Java中引入,旨在提高代码的安全性和可读性,减少类型转换的繁琐过程。DAO设计模式主要用于数据库操作,将业务逻辑与数据访问逻辑分离。 **一、泛型基础知识** 1. **基本概念**:泛型(Generics)允许在定义...
在本例中,使用了Android应用程序设计来实现异步多线程编程和Web服务请求。 13. Java多线程安全:Java多线程安全是指在Java中使用同步机制来确保多线程安全。在本例中,使用了同步机制来确保多线程安全。 14. Java...
- **Servlet和JSP**:Java标准库中的技术,用于创建动态Web应用。 - **MVC模式**:模型-视图-控制器架构,分离业务逻辑、数据和用户界面。 - **Spring框架**:流行的Java Web框架,提供了依赖注入、AOP(面向切面...
反射、泛型、注解、自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环和静态导入是Java的高级特性,这些技术让开发者能够实现更高效、更灵活的代码。Java的IO和多线程是处理输入输出和并发处理的重要工具,...
在企业级应用方面,Java EE(Java Enterprise Edition,现称为Jakarta EE)提供了一整套服务和组件模型,如Servlet、JSP(JavaServer Pages)用于构建动态Web应用,EJB(Enterprise JavaBeans)用于业务逻辑处理,...
Spring Web (Spring Web Mvc/Hibernate 项目...) Spring boot 版本springmvcweb-boot一些与 Spring MVC WEB 相关的额外课程!12.1 Angular JS APP12.2 [设计模式]Factory PatternSingleton PatternMVC
6. **Struts框架**:熟练使用Struts 1.x和2.x,这两个版本分别代表了早期和较新的MVC设计模式在Java Web中的应用。 7. **Hibernate和Spring**:精通Hibernate 3.X,这是一种ORM(对象关系映射)技术,可以处理...
通过学习这本书,读者不仅可以掌握Java和Web开发的高级特性,还能了解如何在实际项目中应用这些技术,提升开发效率和软件质量。无论是对于初级开发者还是经验丰富的专业人员,这都是一次深入而全面的学习体验。
在Java Web程序设计中,掌握新技术如反射和泛型对于提升编程效率和代码质量至关重要。本篇内容将深入讲解这两个核心概念及其应用。 **1. 反射机制** 反射机制是Java语言的一个强大特性,它允许我们在运行时动态地...
这个项目提供了深入理解JAVA编程、企业级应用开发以及如何在Eclipse中进行项目管理的宝贵资源。 OA系统,全称Office Automation System,是用于提高组织工作效率,简化工作流程,实现文档和信息共享的软件系统。它...
本课件“Java技术及其应用”源自清华大学出版社,旨在深入浅出地介绍Java语言的基础和高级特性,以及如何在实际项目中应用这些知识。通过这份资源,学习者将能够系统地了解Java编程,并提升自己的软件开发能力。 ...
《Java程序设计与应用》是一本深入探讨Java编程语言及其应用的教材,旨在帮助学习者掌握Java编程的基础知识,理解其核心概念,并能熟练应用于实际项目中。这本书涵盖了从简单的语法结构到高级特性的全面讲解,是初学...
虽然它不是直接与反射相关的,但理解Tomcat的工作流程也有助于开发者更好地理解Java在服务器端的应用,包括反射在动态加载类和构建Web应用程序中的作用。在Tomcat中,类加载器使用反射来加载和实例化Servlet和Filter...
这些代码示例可能包括各种算法实现、小型应用项目或者对书中案例的扩展,有助于学习者将所学知识融会贯通。 总的来说,《Java程序设计与应用开发(第2版)》提供了一个全面的学习路径,从基础到进阶,从理论到实践...
同时,掌握Java的高级特性,如增强for循环、可变参数、枚举、装箱/拆箱、静态引用、泛型、反射、动态代理和注解,能够使代码更具灵活性和可扩展性。 数据库操作是Java开发中的常见任务,因此,学习Oracle数据库的...