如果要在服务器启动时自动加载spring容器的话,那可定要在web.xml中配置。那么如何配置呢?请看下面代码
第一种:
没有任何的参数,直接通过监听器加载spring容器,这时候默认的读取路径是读取WEB-INF/applicationContext.xml,也就是说spring容器的配置文件只能有一个且名字必须为applicationContext.xml
<!-- 通过这个监听器来自动对spring的ApplicationContext进行加载 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
第二种:
手动指定参数,改变默认的读取路径,允许多文件读取构成spring容器,像下面这样的话applicationContext1.xml,applicationContext2.xml都能被读进去。
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml</param-value> </context-param> <!-- 通过这个监听器来自动对spring的ApplicationContext进行加载 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
那么服务器端怎么使用spring容器呢,如果是Action的话,只需要在Action上定义好与spring容器中bean的id相同的属性,action就会自动装配。如果是Servlet的话,那该怎么做呢?请看如下代码:
private ApplicationContext context; //spring与Servlet整合的时候,因为Servlet和Filter不能进行自动装配,因此要用Servlet的init()的方法进行手动的赋值 @SuppressWarnings("unchecked") @Override public void init() throws ServletException { //hibernateTemplate对象还是从spring容器中获取因为服务器与数据库的连接一个 context=WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext()); ht=(HibernateTemplate)context.getBean("ht"); hibernateTrans=(UserDaoInterface)context.getBean("hibernateTrans"); };
相关推荐
这个监听器是基于Servlet容器(如Tomcat、Jetty等)的,当Web应用启动时,它会读取配置文件(通常是`web.xml`),创建并加载ApplicationContext。如果在这个过程中遇到问题,比如`ClassNotFoundException`,那通常...
Struts2插件负责在Action执行时从Spring容器中查找并注入Bean。 总结一下,Spring在`web.xml`中的配置主要关注ApplicationContext的初始化和配置文件的位置,而Struts中的配置则是在Struts2配置文件中声明Action和...
在`web.xml`配置文件中,设置`<context-param>`和`<listener>`元素,指定配置文件的位置,这样当Web服务器启动时,`ContextLoaderListener`会自动创建ApplicationContext。 ApplicationContext的实例化完成后,我们...
15. **spring-instrument.jar**:用于服务器端的类加载器增强,通常在应用服务器环境中使用。 16. **spring-amqp.jar**:支持RabbitMQ等消息代理的集成。 17. **spring-messaging.jar**:提供了对消息驱动的API和...
4. **运行应用:** 运行主程序,Spring Boot 将自动配置并启动服务器。 通过以上步骤,你已经成功地搭建了一个基本的 Spring 环境,接下来就可以开始编写实际的业务代码了。Spring 提供了大量的模块,如 Spring MVC...
在Web应用中,ApplicationContext的初始化常通过`ContextLoaderListener`在web.xml中配置完成,这样可以确保在Web服务器启动时加载Spring容器。配置如下: ```xml <param-name>contextConfigLocation ...
5. **Instrumentation**:这个模块主要用于服务器端的类加载器和应用级监控,通常在容器环境中使用。 6. **Test**:测试模块支持Spring应用的单元测试和集成测试,包括对Mock对象的支持。 在"spring-framework-...
这样,当Struts2需要Action实例时,会从Spring容器中获取。 4. **注解驱动**:如果项目使用Spring的注解,如`@Autowired`和`@Service`等,那么Action类和相关bean可以通过注解进行配置,简化XML配置。 5. **事务...
核心容器包括Bean Factory和ApplicationContext,是Spring的基础。5.3.0中,Bean工厂进一步提升了对依赖注入的支持,优化了初始化过程,增强了配置的灵活性。同时,引入了更多对Java 8和Java 11特性的支持,如...
例如,Spring的`applicationContext.xml`文件中定义了bean的配置,如`<bean id="userTable">`。 - AOP(面向切面编程):允许开发者将横切关注点(如日志、事务管理等)与业务逻辑分离,从而提高模块化。例如,通过`...
在`META-INF`目录下创建Spring配置文件,例如`applicationContext.xml`,并定义所需的bean及其依赖关系。 4. **实现业务逻辑** 根据应用需求,编写具体的业务逻辑类和服务类,并通过注解或XML配置的方式将其与...
在配置Spring MVC项目时,你需要在pom.xml中声明Spring MVC和相关库的依赖,例如Spring Web、Spring Core、Spring Context等。 然后,Tomcat是一款开源的Servlet容器,常被用来部署和运行Java Web应用。在Eclipse中...
2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言...
这段配置告诉Web服务器在启动时加载指定的Spring配置文件(如`applicationContext.xml`)。`ContextLoaderListener`实现了`ServletContextListener`接口,因此当Web应用启动时,它会接收到`contextInitialized`方法...
在Java Web应用中,`web.xml`是部署描述符,它是配置服务器如何处理Web应用程序的关键文件。`ContextLoaderListener`是Spring框架中的一个监听器,它负责初始化Spring应用上下文。下面将详细解析`web.xml`中`...
### Spring在Tomcat容器中的启动过程详解 #### 一、Spring框架简介 Spring是一个开源的轻量级Java开发框架,其核心设计目标是为了简化企业级应用的开发。Spring提供了全面的基础架构支持,使得开发者可以专注于业务...
默认情况下,Spring 容器会在启动时实例化所有单例 Bean,而原型 Bean 在每次请求时都会创建新的实例。 2.5 执行初始化和销毁方法 可以通过 init-method 和 destroy-method 属性指定 Bean 初始化和销毁时执行的方法...
4. **Bean管理**:Spring容器管理应用中的对象,称为"bean"。它负责创建、初始化、装配bean,并管理它们的生命周期。 5. **数据访问**:Spring提供了JDBC抽象层,简化了数据库操作,还有对ORM框架(如Hibernate、...
1. 介紹 2. I.... 在启动时执行Spring Batch作业 ix. 70. 执行器(Actuator) i. 70.1. 改变HTTP端口或执行器端点的地址 ii. 70.2. 自定义'白标'(whitelabel,可以了解下相关理念)错误页面 x. 71...
- 在`web.xml`中配置Spring的监听器`ContextLoaderListener`,这样Spring容器会在Web应用启动时初始化。 - 创建`applicationContext.xml`文件,定义bean的配置,包括数据源、事务管理器以及业务层和服务层的bean。...