stripes 源码阅读
stripes-code-1527-tags-1.5.6\stripes\src\net\sourceforge\stripes\integration\spring\SpringHelper.java
public static void injectBeans(Object bean, ApplicationContext ctx) {
// First inject any values using annotated methods
for (Method m : getMethods(bean.getClass())) {
try {
SpringBean springBean = m.getAnnotation(SpringBean.class);
boolean nameSupplied = !"".equals(springBean.value());
String name = nameSupplied ? springBean.value() : methodToPropertyName(m);
Class<?> beanType = m.getParameterTypes()[0];
Object managedBean = findSpringBean(ctx, name, beanType, !nameSupplied);
m.invoke(bean, managedBean);
}
catch (Exception e) {
throw new StripesRuntimeException("Exception while trying to lookup and inject " +
"a Spring bean into a bean of type " + bean.getClass().getSimpleName() +
" using method " + m.toString(), e);
}
}
// And then inject any properties that are annotated
for (Field f : getFields(bean.getClass())) {
try {
SpringBean springBean = f.getAnnotation(SpringBean.class);
boolean nameSupplied = !"".equals(springBean.value());
String name = nameSupplied ? springBean.value() : f.getName();
Object managedBean = findSpringBean(ctx, name, f.getType(), !nameSupplied);
f.set(bean, managedBean);
}
catch (Exception e) {
throw new StripesRuntimeException("Exception while trying to lookup and inject " +
"a Spring bean into a bean of type " + bean.getClass().getSimpleName() +
" using field access on field " + f.toString(), e);
}
}
}
分享到:
相关推荐
stripes1.5.7+spring3.1.1+MyBatis3.1.1完整框架 本工程代码已完成了Oracle,MySQL,MSSQL2005三种数据库物理分页方言,并测试可用。 本代码集成了xheditor-1.2.1在线编辑器远程抓取图片功能。 集成了excel导入...
《条纹Stripes、Spring与MyBatis整合的网上宠物商店项目解析》 在软件开发领域,集成多种技术框架以构建高效、稳定的系统是常见的做法。本项目——"stripes+spring+mybatis项目源码下载",便是一个将条纹(Stripes...
6. **Servlet集成**:Stripes是一个Servlet过滤器,可以与其他Servlet框架如Spring、Struts等无缝集成,扩展性强。 7. **国际化和本地化**:Stripes内置了对多语言的支持,方便创建面向全球用户的Web应用。 8. **...
不错的stripes教程,分享一下…… 和我们熟悉 Struts 1 和 Struts 2 类似,Stripes 同样是一种展示...Configuration” 理念,只需要在 Java 代码中加入少量的 Annotation,就可以完成配置,大量减少了 代码的维护工作。
Stripes 是一款用于快速开发Web程序的展示层框架,它的设计旨在简化Java Web应用开发流程。在介绍Stripes之前,我们需要了解它与传统框架(如 Struts 1、WebWork 和 Struts 2)的不同之处。传统框架通常要求开发者...
与Struts 1和Struts 2等早期流行的框架不同,Stripes采用了更为现代的开发模式和技术,减少了对XML配置的依赖,更多地利用了Java 5中的注解(Annotation)特性来简化配置。 Stripes框架的核心理念是“约定优于配置...
3. **依赖管理**:Stripes 对于依赖的管理更为灵活,它可以很好地与其他 Java 组件或框架协同工作,比如 Spring 和 Hibernate。 4. **学习曲线**:由于 Stripes 的设计理念更加注重简洁性和易用性,因此其学习曲线...
相较于其他Java Web框架如Spring MVC或Struts,Stripes框架更加强调简洁性和易用性。它通过提供一系列简洁明了的API来帮助开发者快速构建高性能的Web应用。 #### 二、Stripes中的文件下载机制 在Stripes框架中,...
本文将深入对比六种流行的Java Web层框架:JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket。 **JavaServer Faces (JSF)** JSF作为Java EE的一部分,拥有广泛的支持和市场需求。它的优点在于快速上手和丰富...
Stripes是一个Java Web应用框架,它是为了简化Java Web开发而设计的,提供了快速构建Web应用程序的能力。与传统的框架如Struts1和Struts2相比,Stripes有自己独特的优势。首先,Stripes提倡“约定优于配置”的开发...
《Folio图书馆系统UI前端框架Stripes-Components详解》 在现代数字图书馆系统中,用户界面(UI)的设计与实现是至关重要的,它直接影响到用户的使用体验和系统的易用性。Folio图书馆系统是一个开放源代码的平台,...
标题中的"Mybatis3.0.5 and Spring3.0.5jar"暗示了这是一个关于集成Mybatis和Spring框架的讨论,特别关注的是Mybatis的3.0.5版本和Spring的3.0.5版本。这两个框架在Java开发中被广泛用于持久层操作和依赖注入。接...
Stripes是一个轻量级的Java MVC框架,它的核心设计理念是“约定大于配置”,这使得开发者可以更快地构建Web应用程序,而无需过多的配置文件。在本文中,我们将深入探讨Stripes框架的基础知识,以及它如何简化开发...
对于那些希望避免复杂的Spring或Struts等大型框架,但又需要MVC结构来组织项目的开发者来说,Stripes是一个很好的选择。 综上所述,Stripes 1.5.6是一个旨在提升JSP网页开发效率的轻量级MVC框架,其特点在于快速...
Stripes是一个专为简化Java Web开发而设计的开源框架,其版本1.4.3是该框架的一个稳定发行版。这个框架强调了提高程序员的工作效率和代码的可维护性,通过提供直观的API和强大的特性集,使得构建动态、交互式的Web...
### Stripes MVC Framework:概述与核心特性 #### 一、Stripes框架简介 Stripes是一款新兴的Java Web MVC(Model-View-Controller)框架,它以其简洁、高效和易用的特点受到开发者的青睐。该框架的目标是简化Java ...
Stripes是一个轻量级的Java Web框架,它简化了创建动态、交互式的Web应用程序的过程。这个"stripes-1.5.7-src.zip"文件包含了Stripes框架的源代码版本1.5.7,这对于开发者来说是宝贵的资源,因为可以直接查看和理解...