`
cljhyjs
  • 浏览: 21266 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何在spring项目里用jndi方式获得beanfactory

阅读更多
  题目说的有点不太清楚,讲讲实际的问题吧。
  我使用spring在web.xml中使用了
  org.springframework.web.context.ContextLoaderListener
  装入了所有的bean实例可以正常使用。
  但是现在程序里有一个要求可以动态的装入各个服务bean,所有要获得beanfactory才能得到。我在想spring使用contextloaderlistener时,是否会将装入的beanfactory挂到jndi树上呢,还是怎么获得,请各位!谢谢
  排除自己重新new一个beanfactory实例,那是重复的加载。。
分享到:
评论
1 楼 cljhyjs 2007-08-07  
解决方法如下:
public class SpringInitListener implements javax.servlet.ServletContextListener {

private ContextLoader contextLoader;

/**
* Initialize the root web application context.
*/
public void contextInitialized(ServletContextEvent event) {
this.contextLoader = createContextLoader();
WebApplicationContext context = this.contextLoader
.initWebApplicationContext(event.getServletContext());
SpringBeanFactory.setAppContext(context);
}

/**
* Create the ContextLoader to use. Can be overridden in subclasses.
*
* @return the new ContextLoader
*/
protected ContextLoader createContextLoader() {
return new ContextLoader();
}

/**
* Return the ContextLoader used by this listener.
*/
public ContextLoader getContextLoader() {
return contextLoader;
}

/**
* Close the root web application context.
*/
public void contextDestroyed(ServletContextEvent event) {
if (this.contextLoader != null) {
this.contextLoader.closeWebApplicationContext(event
.getServletContext());
}
}

}

相关推荐

    Spring的7大模块面试

    Spring框架的强大之处在于它的模块化设计,使得开发者可以根据项目需求选择使用哪些模块,同时,Spring的核心理念——IoC和AOP,使得代码更加解耦,提高了代码的可测试性和可维护性。在J2EE环境中,Spring框架能够很...

    spring2.0和spring2.5 及以上版本的jar包区别 spring jar 包详解

    从Spring2.0到Spring2.5及以后的版本,Spring框架在jar包的组织方式上发生了显著的变化。这种模块化的改进不仅使得框架本身更加灵活,同时也让开发者能够更加专注于自己项目的核心功能,提高了开发效率。在实际项目...

    spring的核心思想

    1. **JNDI(Java Naming and Directory Interface)**:Spring框架支持通过JNDI查找和绑定资源,这使得开发者可以方便地在分布式环境中查找和使用资源,比如数据库连接池等。 2. **EJB(Enterprise JavaBeans)**:...

    Spring框架.ppt

    提供Spring框架的基本功能,其主要组件是BeanFactory,是工厂模式的实现。 Spring 上下文。向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。 Spring AOP。通过配置管理...

    spring详细教程

    - **核心容器**:这是 Spring 框架的基础,包含了 BeanFactory 和 ApplicationContext 等核心组件,负责管理对象的生命周期和依赖关系。 - **上下文**:提供了一个配置文件,允许 Spring 与外部系统进行交互,例如 ...

    Spring————面试题库

    使用Spring框架能够为开发者带来许多好处,例如通过依赖注入(Dependency Injection, DI)方法,能够清晰地管理对象间的依赖关系,相比于EJB容器,Spring的IoC容器更为轻量级,更适合在有限的内存和CPU资源下进行...

    spring in action英文版

    Spring在企业服务访问方面也有一席之地,第7章“访问企业服务”讲解了如何使用Spring来访问如JNDI、JMS、邮件服务和调度任务等企业级服务。Spring通过提供对这些企业服务的抽象,使得开发者可以更容易地在企业环境中...

    Spring面试题和答案(70道,史上最全).pdf

    标题中提到的“Spring面试题和答案(70道,史上最全).pdf”暗示了文档包含了大量与Spring框架相关的面试问题及其答案。...通过对这些知识点的学习和掌握,开发者可以更好地在实际项目中运用Spring框架,解决实际问题。

    spring与ejb的区别

    这两种方式都有各自的优点,但在灵活性和可读性方面,Spring的XML配置文件可能会更具优势。 - **声明性服务**:Spring框架通过其IOC容器和AOP支持,使得声明性服务的使用变得非常简单。EJB3.0同样支持声明式服务,但...

    spring的详细介绍

    10. 自动装配(Auto-Wiring):Spring自动检测并满足Bean之间的依赖关系,但这种方式可能导致不可预测的结果,因此通常不推荐使用。可以通过`autowire`属性设置自动装配模式。 11. 依赖检查(Dependency Checking)...

    spring doc格式

    2. **上下文模块(Context)**:构建在核心模块之上,提供了更丰富的功能,如访问Bean的框架方式,类似于JNDI的注册,以及支持文本消息的发送、事件传播、资源加载等。 3. **数据访问/对象关系映射(DAO)**:该...

    Spring in Action(第二版 中文高清版).part2

    5.3 在Spring里使用JDBC 5.3.1 处理失控的JDBC代码 5.3.2 使用JDBC模板 5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 使用Hibernate模板 5.4.3 建立...

    spring 宝典

    - 通过综合运用Spring与其他框架(如Struts、WebWork2、Hibernate等),构建出高质量的应用程序,展示Spring在实际项目中的强大功能和灵活性。 - 案例涉及的技术栈非常广泛,不仅展示了Spring的核心能力,也体现了...

    超详细Spring面试题和答案

    Spring通过ORM模块支持在直接使用JDBC的基础上使用对象/关系映射工具(如Hibernate、JDO和iBATIS SQL Maps)。Spring的事务管理支持所有的ORM框架以及JDBC。 #### 7. Web模块 Spring的Web模块是建立在...

    spring常见面试题(包含答案)

    对象/关系映射集成模块支持我们在直接 JDBC 之上使用一个对象/关系映射映射(ORM)工具,Spring 支持集成主流的 ORM 框架,如 Hibernate,JDO 和 iBATIS SQL Maps。Spring 的事务管理同样支持以上所有 ORM 框架及 ...

    Spring全栈开发

    - **非侵入性**:Spring不会强制开发者遵循特定的编程模式或限制代码的编写方式,它允许开发者在合适的时候引入或移除Spring的支持,保持代码的灵活性。 - **控制反转(IoC)**:这是Spring框架的核心概念之一,通过...

    spring4.3.2参考文档(英文)

    Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring ...

    spring core 运行时必要的基础包

    Spring Core是Spring框架的核心部分,它是整个Spring生态系统的基础。这个"spring core 运行时必要的基础包"包含了Spring框架中最...理解和掌握这些组件的功能和用法,对于任何使用Spring开发的项目来说都至关重要。

    69道Spring面试题和答案.docx

    Spring 通过提供 ORM 模块,支持我们在直接 JDBC 之上使用一个对象/关系映射映射(ORM)工具,Spring 支持集成主流的 ORM 框架,如 Hibernate,JDO 和 iBATIS SQL Maps。Spring 的事务管理同样支持以上所有 ORM 框架...

Global site tag (gtag.js) - Google Analytics