`

Spring启动加载bean 得到servletContext 获取数据源

阅读更多
web启动
servlet启动 1--spring容器启动  2--加载自己的servlet
也就对应初始化操作:
1--在bean中进行初始化操作
2--等spring容器启动完毕,在servlet中进行初始化

1--在bean中进行初始化
    加载bean的时候可以得到serletContext,但是
WebApplicationContext wac=WebApplicationContextUtils.getWebApplicationContext(servletConfig);   
无法获取
这个时候可以在这个bean中注入数据源,且该bean不需要继承其它类
添加DataSource属性即可.

2--在servlet中进行初始化
   在web.xml中配置一下就可以了,init(ServletConfig servletConfig)可以得到
servletConfig,
WebApplicationContext wac=WebApplicationContextUtils.getWebApplicationContext(servletConfig); 这个也可以得到,因为spring容器已经初始化完毕了
如是getBean()就可以得到数据源了


<bean id="initSpringServletContext" class="com.isoftstone.telesales.util.InitSpringServletContext">
		<property name="dataSource" ref="dataSource" />
</bean>



import org.springframework.web.context.ServletContextAware;

public class InitSpringServletContext implements ServletContextAware {
private static final Logger log = Logger
			.getLogger(InitSpringServletContext.class);
private DataSource dataSource;


public void setServletContext(ServletContext servletContext) {
   //这里就已经得到了servletContext,
   //这个值是等配置文件的所有属性都set以后开始初始化的
}

public DataSource getDataSource() {
		return dataSource;
	}

	public void setDataSource(DataSource dataSource) {
		this.dataSource = dataSource;
	}


分享到:
评论

相关推荐

    spring启动.txt

    Spring在Tomcat容器中的启动过程涉及多个步骤,从加载配置文件到创建`ServletContext`实例,再到初始化监听器及配置数据源等。这一系列的过程确保了Spring应用程序能够顺利地运行在Tomcat服务器上。理解这一流程对于...

    spring源代码解析

    从加载过程我们可以看到,首先从Servlet事件中得到ServletContext,然后可以读到配置好的在web.xml的中的各个属性值,然后ContextLoder实例化WebApplicationContext并完成其载入和初始化作为根上下文。当这个根上...

    spring3.2与Ibatis整合

    - 配置数据源(DataSource),这是连接数据库的关键,可以使用Spring提供的JDBC数据源或第三方数据源。 - 创建`MyBatisConfig.xml`配置文件,定义SQL映射文件的位置,以及数据源等其他设置。 - 在Spring配置文件...

    Spring系列面试题129道(附答案解析)

    它不仅包括了ApplicationContext的功能,还提供了获取ServletContext的功能,以及与Servlet容器的集成。 51、什么是spring? 这里可能是一个错误,应该是“什么是Spring?”,Spring是一个用于开发Java应用的开源框架...

    spring 所有功能详解

    - **DataSource**:Spring支持多种数据源实现,如基于JDBC的数据源。 - **JdbcTemplate**:这是一个高级的JDBC抽象层,简化了JDBC的使用。 #### 五、Spring ORM模块 **Object-Relational Mapping (ORM)** 是一种...

    Spring-Reference_zh_CN(Spring中文参考手册)

    配置子报表数据源 14.7.5. 配置Exporter的参数 15. 集成其它Web框架 15.1. 简介 15.2. 通用配置 15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ...

    Spring2.5中文手册

    - Spring Test模块提供了对Spring应用进行单元测试和集成测试的支持,包括`ApplicationContext`的加载和销毁。 - Spring 2.5改进了测试类的继承结构,使得测试编写更加简洁。 10. **Web应用上下文** - Spring ...

    Spring中文帮助文档

    6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    Spring API

    6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    Spring 2.0 开发参考手册

    目录 前言 1. 简介 1.1. 概览 1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 ... 源代码级的元数据类型 20.3.5. 接口AutodetectCapableMBeanInfoAssembler 20.3.6. 用Java接口定义管理接口 ...

    Spring_Struts集成

    3. **Struts-config.xml**:配置文件,定义Action、ActionMapping、ActionForm以及数据源等。 **Spring和Struts集成原理** 集成Spring和Struts的主要目的是利用Spring的DI特性管理Struts的Action对象,从而实现更...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    Spring源码refresh方法调试笔记

    `refresh` 方法是Spring框架中的一个核心方法,它主要用于初始化整个应用上下文(ApplicationContext),包括加载配置文件、创建Bean实例等重要步骤。本文将深入剖析Spring框架中`refresh`方法的具体实现流程,以及...

    注解方式搭建springmvc+spring+ibatis

    - **applicationContext.xml**:Spring的上下文配置文件,这里可以配置Bean的定义、数据源、事务管理器以及Spring与iBatis的整合等。 - **springmvc-servlet.xml**:Spring MVC的配置文件,主要配置了处理器映射...

    web.xml加载顺序与web.xml常用节点解析

    - `&lt;resource-ref&gt;`:声明外部资源引用,如数据源。 3. **最佳实践**: - 如果过滤器需要依赖Spring等框架的bean,应确保bean的初始化在过滤器之前。可以通过使用`&lt;listener&gt;`来加载Spring,而不是传统的`...

    Spring整合Springmvc的相关介绍

    - 不需要整合的情况:如果你的应用程序只需要Spring MVC来处理Web请求,而无需Spring框架提供的其他服务(如数据源管理、事务控制、AOP等),你可以选择单独使用Spring MVC。 - 需要整合的情况:当你需要利用...

    Spring MVC之WebApplicationContext_动力节点Java学院整理

    在这种方案中,开发者可能会选择不使用父子上下文结构,而是直接在子上下文中保存所有相关的Bean,包括数据源、服务层、DAO层、事务管理Bean和Action相关的Bean。这样的好处是简化了上下文的层次结构,便于快速开发...

    S2SH整合报错

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed;...

    Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程.doc

    Root WebApplicationContext 包含需要共享给多个 Servlet 实例的数据源和业务服务基础 Bean。这些 Bean 可以在 Servlet 特定的范围被继承或覆盖。 DispatcherServlet 的初始化过程 DispatcherServlet 的初始化过程...

Global site tag (gtag.js) - Google Analytics