FAQ:
seam的英文意思是:缝、接合处。seamless即“无缝地”。
1. Seam有什么价值?为什么要学习Seam?Seam本身有没有提供什么新技术?
A: 它通过把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到 JSF 页面。Seam还可帮助你把jBPM流程定义直接地集成到你的应用程序中。
Seam目的是将各种框架“无缝地”整合。所以Seam本身也提供了一些类库特别是@annotation进行接合。
2. Seam提供了什么特性?
A: ①摆脱了对繁琐的JSF managed bean(JSF受管bean)的配置。
JSF页面中的基于event可以调用后台ManagedBean的指定方法,而Seam可以调用后台Seam组件的指定方法。例如action="#{register.register}"。
②将JSF与EJB 3.0整合
事实上,任何Java类都可以是一个Seam组件,这包括EJB组件类。而EJB组件可以交由EJB容器管理。
③集成AJAX——JBoss RichFaces和ICEfaces
④集成JBoss RichFaces和ICEfaces
3. 常用注解,如@Name,@Scope,@In,@Out
A:这些注解一般是在org.jboss.seam.annotations.*的package下。
@Name—— @Name("componentName") 为一个类定义一个Seam组件。所有Seam组件都需要该注解。
@Scope—— @Scope(ScopeType.CONVERSATION) 定义默认的组件上下文。
@In—— @In(value="contextVariableName") 在每次组件调用开始时从上下文中为此属性进行注入,value相当于指定beanName
@Out—— @Out(scope=ScopeType.SESSION) 在调用结束后注射出Seam组件属性到上下文变量。
例如可以对class EditCustomerAction的Customer customer字段表明:
@In(create=true)
@Out
Customer customer;
以及一些用于JSF的注解,例如:
@Converter——允许一个Seam组件作为JSF转换器(JSF Converter),必须实现javax.faces.convert.Converter接口。
@Validator——允许一个Seam组件作为JSF验证器(JSF Validator),必须实现javax.faces.validator.Validator接口。
以及@DataModel 等
4. Seam跟Spring的区别和结合
A:和Seam的双向注入(bijection)不同,Spring的注入并不是在方法调用时,而是发生在Spring Bean初始化时。
①可以在Spring的XML配置文件中,将Seam组件注入到Spring的Bean中去。
②在faces-config.xml中,加上
<variable-resolver>
org.springframework.web.jsf.DelegatingVariableResolver
</variable-resolver>
配置,就可以通过EL表达式在Seam组件中注入Spring的Bean。例如@In("#{bookingService}")
③将Spring Bean转换为Seam组件。通过<seam:component/>。
Seam涉及的jar包:
jboss-seam-*.jar
jboss-cache.jar
jboss-common-core.jar
jboss-deployers-client-spi.jar
jboss-deployers-core-spi.jar
jboss-el.jar
jboss-embedded-api.jar
richfaces-*.jar
drools-*.jar
jsf-*.jar
hibernate-*.jar
jbpm-jpdl.jar
ejb-api.jar
persistence-api.jar
其他常用的jar包
分享到:
相关推荐
**JBoss Seam 学习资源概述** JBoss Seam 是一个开源的应用程序框架,它整合了JavaServer Faces (JSF)、Enterprise JavaBeans (EJB)、Java Persistence API (JPA) 和其他Java EE技术,旨在简化开发过程,提高开发...
在过去的两周里,我深入学习了SeamTest,这是一个用于Java EE应用测试的强大工具,尤其在Seam框架的上下文中。SeamTest提供了一种结构化的、声明式的测试方法,帮助开发者更有效地验证应用程序的各个层面,包括组件...
**五、Seam的使用与学习资源** “Seam_2.0_Reference_zh_CN”中文参考手册是学习Seam的重要资料,涵盖了Seam的各个方面,包括安装、配置、组件使用、事件处理、安全控制等,对于初学者和进阶开发者都极具价值。结合...
通过阅读和理解这些代码,我们可以深入学习Seam Carving的工作原理,并将其应用于实际项目中。 总结来说,Seam Carving 是一种智能的图像调整技术,它通过寻找和操作能量最低的像素序列来改变图像尺寸,从而保持...
8. **Seam工具**:Seam提供了一些工具,如Seam Gen,可以帮助快速生成项目结构和基础代码,学习如何使用这些工具能加速开发进程。 9. **Seam事件和上下文**:Seam引入了一种独特的事件模型和组件上下文,使得组件间...
### Seam框架核心知识点详解 #### 一、Seam框架简介 Seam,全称为JBoss Seam,是一款基于Java EE 5的技术栈构建的应用框架。它通过整合JSF(JavaServer Faces)与EJB 3.0(Enterprise JavaBeans 3.0)组件,并充分...
《Seam in Action》是一本专门探讨Seam框架的书籍,该书分为中文和英文两个版本,对于初学者...配合提供的"seam+in+action.pdf"和"u_10_04_02-hilton-leroux.pdf"等学习资源,相信读者可以更深入地学习和掌握Seam框架。
根据提供的信息,我们可以推断出这是一本...通过对本书的学习,开发者可以掌握如何利用 Seam 快速构建高性能的企业级 Web 应用程序。此外,本书还提供了大量实用案例和最佳实践,帮助读者更好地理解和应用 Seam 框架。
通过阅读和理解这些代码,你可以深入学习seam carving的工作机制,并可以进一步修改和优化代码,适应不同的图像处理需求。 总的来说,seam carving是一种创新的图像缩放技术,它能够智能地保留图像的关键内容。在...
2. **在Tomcat服务器上运行示例**:Tomcat作为轻量级的应用服务器,可以快速部署简单的Seam应用,便于学习和测试。 ##### 1.2 第一个例子:注册示例 这个示例展示了如何使用Seam实现用户注册功能,包括前端页面...
### Seam参考手册中文版知识点概览 #### 一、Seam简介及基本概念 ##### JBoss Seam概述 ...对于想要深入学习Seam及其在企业级应用开发中应用的读者来说,《Seam参考手册中文版》无疑是一本非常宝贵的资料。
通过深入学习这个Seam 2.0学习文档,开发者可以了解到如何利用Seam简化Java EE应用开发,提升应用程序的可维护性和扩展性。文档将逐步引导读者从基础知识开始,到高级特性,全方位理解Seam的工作原理和最佳实践,...
Seam Security是针对Java Web应用程序的安全框架,它是JBoss Seam项目的一部分,提供了全面的安全解决方案,包括身份验证、授权和身份管理等功能。Seam Security以易于配置和使用为特点,允许开发者快速设置应用程序...
文件"Seam - 语境相关的组件.pdf"很可能是Seam框架深入学习的教程或指南,涵盖了上述概念的详细解释和示例。通过阅读这份资料,你应该能掌握Seam框架如何利用语境相关的组件来优化Java EE应用的开发,以及如何在实际...
### SEAM 中文开发指南知识点概述 #### 一、SEAM 框架简介 - **SEAM**:SEAM 是一个基于 Java EE 的企业级应用框架,它简化了复杂的应用程序开发过程,并且提供了丰富的功能来支持业务逻辑的实现。 - **版本信息**...
Seam框架是一个全面的Java企业级应用开发框架,它整合了JSF(JavaServer Faces)、EJB、CDI(Contexts and Dependency Injection)以及许多其他Java EE技术,为开发者提供了强大的组件模型和丰富的功能,旨在简化...
这份文档全面介绍了Seam 2.0的各个方面,是学习和使用Seam的重要参考资料。 四、下载说明与资源 `下载说明.html`可能包含了获取和安装Seam 2.0的步骤,以及如何配置开发环境的指导。这通常包括设置IDE集成、添加库...
Seam是一个Java EE框架,它将JavaServer Faces(JSF)、Java Persistence API(JPA)、Inversion of Control(IoC)和Enterprise JavaBeans(EJB)等技术融合在一起,为开发复杂的Web应用程序提供了便利。在Seam框架...
Seam Carving是一种图像内容感知的尺寸调整方法,它能够在保持图像主要结构不变的情况下,智能地减少或增加图像的宽度和高度。这种方法是由Amit Agarwal和Matthieu Salzmann于2007年提出的,其核心思想是通过找到...
本文提出的基于SeamCarving和深度学习的车标识别算法,不仅响应了智能交通系统对于高效准确车标识别技术的需求,还通过优化的图像预处理技术显著提升了识别过程的效率和准确性。该研究为智能交通领域中的车标识别...