文章翻译自Struts 2官方文档。
对象工厂(ObjectFactory)实例化框架创建的所有的对象。对象工厂提供了框架集成IoC容器,例如Spring,Pico,Plexus等等,的方法。
定制
继承ObjectFactory
定制ObjectFactory必须继承ObjectFactory或它的子类,并且要有一个默认的无参的构造器。
为了注册一个定制的ObjectFactory,在struts.properties添加或编辑一条条目
struts.objectFactory=foo.bar.MyCustomObjectFactory
其中foo.bar.MyCustomObjectFactory是定制的对象工厂。
public class MyObjectFactory extends ObjectFactory { ..... }
定义专用的工厂
如果你仅仅想继承ObjectFactory的以部分,也就是改变Result Types创建的方式,你可以实现ResultFactory接口并用一个专用的名字注册它,更多细节参考Extension Points。原始的ObjectFactory将使用这些专用的工厂来完成工作。这样也可以定义专用的工厂——ObjectFactory的原始功能可以被实现了下面这些接口的类获得。更多细节请检查ObjectFactory的源码。从版本2.3.16以后可以获得所有的这些工厂。
工厂接口的列表:
- ResultFactory——ObjectFactory创建Result Types的专用接口
- StrutsResultFactory ResultFactory的内部实现,用来检查Result是否实现ParamNameAwareResult接口来限制Result实例上设置的参数的名字,更多信息参考Result Types。
- ActionFactory——ObjectFactory创建action的专用接口
- InterceptorFactory——ObjectFactory创建拦截器的专用接口
- ValidatorFactory——ObjectFactory创建验证器的专用接口
- ConverterFactory——ObjectFactory创建TypeConverter实例的专用接口
- UnknownHandlerFactory——ObjectFactory创建Unknown Handlers(从版本2.3.18开始)实例的专用接口
相关推荐
- **struts.objectFactory**:指定Struts 2使用的对象工厂,默认情况下Struts 2使用内置的对象工厂。如果希望使用如Spring这样的第三方对象工厂,可以通过设置该属性为`Spring`来启用Spring对象工厂。 - **struts....
【hibernate,Struts开发指南整合】是一个针对初学者的综合教程,旨在帮助读者掌握两种主流的Java Web开发框架——Hibernate和Struts。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者用面向对象的方式...
书中将详细介绍Hibernate的实体类设计、持久化映射文件(Hibernate.cfg.xml和.hbm.xml)、Session工厂的创建,以及CRUD操作的实现。 Spring、Struts和Hibernate的整合是Java Web开发中的一项关键技术。通过整合,...
2. **工厂模式**:提供创建对象的接口,但不直接实例化对象。在J2EE中,EJB(Enterprise JavaBeans)的`@EJB`注解就是一种工厂模式的体现,它能自动创建和注入Bean实例。 3. **依赖注入(DI)模式**:控制反转的一...
【Java面试准备指南】是为Java开发者准备的面试攻略,旨在帮助求职者充分准备Java相关的技术面试。在面试前,你需要关注以下几个方面: 1. **自我介绍**:清晰地介绍你的Java开发经验,涵盖你参与过的项目类型和...
4. **设计模式与框架**:设计模式是解决常见软件设计问题的标准化解决方案,如工厂模式、单例模式、观察者模式等。框架则是为了快速开发应用提供的一种半成品结构,如Spring、Struts或Hibernate。考生需了解常用的...
综合这些资源,学习者可以通过阅读这些文档,深入理解Java编程,掌握Struts 2框架的应用,以及利用Hibernate进行高效的数据持久化。这将为Java Web开发者构建稳定、可维护的大型系统打下坚实的基础。
4. **Java设计模式**:设计模式是软件设计中解决问题的常见方法,如单例模式、工厂模式、观察者模式等,它们是Java编程中的最佳实践。 5. **JDK(Java Development Kit)**:是Java编程的基础,包含了编译器、调试...
Java设计模式的学习可以帮助你提高代码质量和可维护性,通常包括单例、工厂、观察者、装饰器等经典模式,理解它们能让你在面对复杂系统时有更清晰的设计思路。 5. **XML指南**:XML(Extensible Markup Language)...
### Wicket中文开发指南知识点概览 #### 一、Wicket简介 **1.1 Wicket的历史背景** Wicket是一个成熟的、开源的Java Web应用程序框架,最初由挪威开发者Eelco Hillenius创建。它的设计理念是为了简化Web开发,并...
5. **Struts 2.1权威指南**:Struts 2是一个基于MVC架构的Web应用框架,这本书可能提供了使用Struts 2构建Web应用的全面指导。 6. **Maven实战**:Maven是Java项目构建自动化工具,这本书可能介绍了Maven的基本用法...
8. **设计模式**:设计模式是解决软件设计中常见问题的通用解决方案,如单例、工厂、观察者、装饰器等模式,面试中经常会被问到。 9. **JVM原理**:理解Java虚拟机的工作原理,包括内存区域(堆、栈、方法区等)、...
例如单例模式、工厂模式、观察者模式等,学习和应用设计模式能够提升代码的可读性、可维护性和复用性。 压缩包内的子文件可能包含以下内容: - **struts135.CHM**:这可能是一个关于Struts 1.x版本的参考手册,...
5. **Struts快速学习指南**:Struts是早期非常流行的MVC框架,虽然现在已被Spring所替代,但其设计思想对于理解现代Web框架仍有价值。指南会讲解Struts的架构、Action、配置文件、Tiles视图管理、国际化、异常处理等...
4. **设计模式迷你手册.chm**:设计模式是软件工程中解决常见问题的最佳实践,这份手册可能涵盖了单例、工厂、观察者、装饰者等经典设计模式,有助于提高代码质量和可维护性。 5. **精通 Struts :基于 MVC 的 ...
1. 创建型模式:熟悉单例、工厂、抽象工厂、建造者、原型等模式,理解它们在软件设计中的作用。 2. 结构型模式:掌握代理、装饰、适配器、桥接、组合、外观、享元等模式,提高代码的可扩展性和灵活性。 3. 行为型...
- **观察者模式**:定义了对象之间的一对多依赖关系,当一个对象状态改变时,所有依赖于它的对象都会得到通知并自动更新。 7. **数据库交互**: - **JDBC(Java Database Connectivity)**:Java与数据库连接的...
6. **Java设计模式**:设计模式是解决软件设计中常见问题的模板,如单例模式、工厂模式、观察者模式等。学习设计模式有助于写出更优雅、可维护的代码,理解如何在实际项目中灵活应用它们是提高编程能力的关键。 这...