1)获取框架中的bean
spring通过静态方法中传递ServletContext对象获得ApplicationContext,而后从ApplicationContext中获得相关bean,如下示例。这样使得调用者必须依赖HttpServletRequest,很难做出无参的静态工具方法。
private static synchronized void init(HttpServletRequest request) {
Map<String, Object> beans = WebApplicationContextUtils
.getRequiredWebApplicationContext(
request.getSession().getServletContext())
.getBeansWithAnnotation(Service.class);
seam在框架中通过threadLocal封装了各种上下文,可以直接通过无参静态代码获得,非常便于使用.
Commponent.getInstace(beanName)
spring也可以通过实现ApplicationContextAware接口,服务启动时自动创建实例,并将ApplicationContext设置到实例的静态属性中,这样就能静态获取ApplicationContext
@Component
public class SpringBeanUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext; // Spring应用上下文环境
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringBeanUtil.applicationContext = applicationContext;
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
更新中。。。。。
相关推荐
Seam、Spring、Hibernate和RichFaces是Java Web开发中的四大框架,它们的集成可以构建功能强大的企业级应用程序。本文将详细解析这四个组件的核心概念、它们如何协同工作以及配置过程。 **Seam框架** Seam是一款...
### JBoss Seam 教程知识点概述 #### 一、Seam简介与教程概览 - **Seam**:一个基于Java EE平台的应用框架,旨在简化企业级应用开发。 - **JBoss Seam**:由JBoss提供的Seam实现,提供了一系列功能强大的工具和...
除了JBPM(一个用于业务流程管理的工具)之外,Seam还支持与其他常用的工具和组件如Spring、邮件发送、权限管理等进行集成,从而增强应用的功能。 #### 三、Seam框架的功能与特点 ##### 1. 一站式(FullStack)的...
这相当于Spring框架中的@Autowired。你可以指定注入的类型和名称,Seam会自动查找并注入相应的组件。 - `@Out`: 与`@In`相反,`@Out`用于将一个组件暴露出去,使其可以在其他地方被注入或访问。 - `@Create`: 这...
除了基础的邮件服务、工作流支持,Seam还能够轻松整合其他工具和库,如EJB、JMS、WS等,提供一站式解决方案,这在某些方面甚至超越了Spring的集成能力。 总之,Seam作为一个创新的Java框架,通过其独特的设计和功能...
此外,Seam还支持Spring、Hibernate等流行框架,使得开发者可以充分利用现有的技术栈。 文件"JBoss Seam Simplicity and Power Beyond Java EE.pdf"很可能是篇博客文章的PDF版本,作者Forestkqq在ITEYE这个知名的...
Seam 2.0 是一个全面的Java EE框架,它为开发人员提供了一种整合多种技术,如JavaServer Faces (JSF)、Enterprise JavaBeans (EJB)、Java Persistence API (JPA)以及Spring等的强大工具。这个"Seam_2.0_Reference_zh...
这三份手册的合集为Java开发者提供了全面的参考资料,覆盖了应用开发的各个层面:从Spring的依赖管理和控制反转,到Hibernate的对象关系映射和数据验证,再到Seam的全栈解决方案。理解并熟练掌握这些技术,将有助于...
Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................
Seam集成了Spring Security(原Acegi)和其他安全组件,提供了一套完整的安全解决方案。 5. **rich-client**:这部分可能涉及Seam与富客户端界面(Rich Client Interface, RCI)的集成,如使用RichFaces库来增强JSF...
1)JSP+javabean+DAO(Ajax:anywhere) 2)Struts+spring+hibernate3(AJax:DOJO) 3)JSF+richfaces+seam+EJB 总共3个完整的实例,并配有需求分析~~~~~~~~,绝对经典!
开发者可以选择使用Spring来进行依赖注入和服务层的开发,Seam与Spring的结合为开发者提供了更多的选择和灵活性。 #### 附录 - **附录A. Seam入门套件** - **附录B. Seam注解快速参考** - **附录C. JSF组件库** ...
- **Spring集成**:虽然Seam本身已经非常强大,但它也支持与其他框架如Spring的集成,进一步扩展了其功能。 - **Seam注解快速参考**:Seam使用了大量的注解来简化配置,本书提供了一个详细的注解快速参考指南。 - **...
此外,书中可能还会涵盖Seam与其他技术如Spring、Hibernate、RichFaces等的协同工作,以及如何利用Seam进行企业级应用的性能优化。 总的来说,《Seam In Action》翻译版是学习和掌握Seam框架的重要参考资料,对于想...
- **集成机制**:Seam 与 Spring 框架无缝集成,开发者可以利用 Spring 的强大功能来增强 Seam 应用程序。 综上所述,Seam 通过简化 Java EE 的复杂性、提高开发效率和增强应用程序的功能,为 Java 开发者带来了...
4. **整合框架**:Seam与多个框架有良好的集成,如JSF、Hibernate、Spring、RichFaces等,这使得开发者可以在同一个项目中自由选择合适的工具和技术。 5. **安全和身份验证**:Seam提供了内置的身份验证和授权机制...
5. **工具和组件集成**:除了基础的EJB和JSF,Seam还集成了如JBPM(业务流程管理)、Spring、邮件服务、权限管理以及动态语言支持等组件,构建出全面的企业级应用解决方案。 6. **测试友好**:Seam的设计考虑到了...
这个框架集成了多种技术,如JSF、EJB、CDI、Spring等,为开发者提供了一个统一的平台,使得在构建复杂的企业级应用时能够更高效地工作。 **Seam的核心特性:** 1. **统一的编程模型**:Seam 提供了一种统一的编程...