1.加载DI容器
Spring内置的ContextLoaderListener和ContextLoaderServlet辅助类负责DI容器的实例化和销毁工作。
contextConfigLocation上下文参数指定了ContextLoaderListener会读取装载的Spring配置文件,默认为/WEB-INF/applicationContext.xml。
例如在web.xml中配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
如果目标web容器不支持ServletContextListener,则需要配置ContextLoaderServlet。将web.xml中的listener换成
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
2. 让Spring管理多个配置文件
两种解决方案:
a.调整web.xml中的contextConfigLocation上下文参数取值 ,从而引用这些文件集合,可用空格,逗号,分号等隔开,如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/sessioncontent.xml</param-value></context-param>
b.在新的applicationContext.xml中使用<import/>元素,从而能应用到sessioncontext.xml文件,如下:
<import resource="sessioncontent.xml">
3. Spring内置的WebApplicationContextUtils使用类能定位ContextLoaderListener或ContextLoaderServlet存储在Web应用中的ioc容器,进而访问到宿主在其中的受管bean。
WebApplicationContextUtils继承于ApplicationContext.相关用法代码如下:
public void processSessionContent(HttpSession hs){
ServletContext sc = hs.getServletContext();
ApplicationContext sc = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);
ISessionContent sessioncontent = (ISessionContent)sc.getBean("sessionContent");
......
}
4.国际化和本地化消息资源
ApplicationContext继承的MessageSource是整个国际化消息支持的基础.
例如下配置:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>test/messge</value>
</property>
<property name="parentMessgeSource">
<ref="parentMessageSource"> <!--在定义的属性文件中找不到需要的属性键,Spring就会到指定的父实现中去查找 -->
</property>
</bean>
<bean id="parentMessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename">
<value>parenthelloworld</value>
</property>
<property name="cacheSeconds">
<value>10</value>
</property>
</bean>
其中,basename用于指定.properties属性文件所在的classpath,如存在若干属性文件,则可使用basenames属性(String[]).下面是测试访问属性文件中的消息:
//访问message_en.properties中的消息
log.info(aac.getMessage("helloworld",null,Locale.ENGLISH));
//访问message_zh_CN.properties中的消息
log.info(aac.getMessage("helloworld",null,Locale.CHINA));
//访问message_zh_CN.properties中的消息,并传入参数
log.info(aac.getMessage("helloworld",new Object[]{"访客"},Locale.CHINA));
分享到:
相关推荐
这个文档集合包括了Spring的API参考、用户指南、开发者笔记等,是学习和使用Spring 2.5 RC2的宝贵资源。 首先,让我们了解一下Spring的核心特性。2.5版本引入了一些重要的增强,如依赖注入(Dependency Injection,...
首先,Spring框架在Web应用中的主要作用是提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),这有助于减少代码间的耦合度,提高可测试性和可维护性。在Web环境中,...
3. **Web**:Spring的Web模块提供了MVC(Model-View-Controller)架构,用于构建Web应用程序。它支持RESTful服务、文件上传、URL映射和视图解析等功能。 4. **AOP(面向切面编程)**:Spring的AOP模块允许开发者...
Spring框架是Java开发中的核心组件,它为应用程序提供了一个全面的基础设施,包括依赖注入(DI)、面向切面编程(AOP)以及数据访问等服务。SSM是Spring、SpringMVC和MyBatis的组合,是Java Web开发的常用框架栈。这...
1. IoC(Inversion of Control)容器:Spring的核心特性是控制反转,它通过依赖注入(Dependency Injection,DI)来管理对象的生命周期和依赖关系。IoC容器负责创建对象、装配对象以及管理对象的生命周期,降低了...
2. 自动方式:引入 Spring 的 Web 包和 Struts 的 Spring 插件,配置监听器和应用上下文路径,让 Struts 从 Spring 容器中查找 Action 类,实现单例化,提高效率。 监听器如 ContextLoaderListener 在项目启动时...
《MLDN_J2EE框架_笔记--精华---(包括jsp struts hibernate spring)》这份压缩包文件聚焦于Java企业级开发中的核心技术,涵盖了JSP、Struts、Hibernate和Spring四大框架,它们是构建现代J2EE应用的基础。以下是这些...
初始化和销毁方法在 Spring 容器中,我们可以通过配置来指定 Bean 在被创建后或销毁前需要执行的方法。这些方法可以用于执行初始化设置或者清理工作。 3.1. 初始化方法当我们想要在 Bean 创建完成后执行特定的初始...
控制反转意味着将对象的创建和依赖管理从应用代码中移除,交由Spring容器负责。这样做的好处是可以减少代码耦合度,提高组件的可测试性和可重用性。 - **DI (依赖注入)**:依赖注入是实现IoC的一种手段。通过DI,...
Spring 框架是 Java 开发中的一个核心组件,尤其对于企业级应用开发而言,它提供了丰富的功能,如依赖注入(DI)、面向切面编程(AOP)、数据访问/集成、事务管理等。本入门教程资料是针对初学者和求职者设计的,...
Spring框架是Java开发中广泛应用的一个开源框架,由Rod Johnson在其著作《Expert One-on-One J2EE Design and Development》中首次提出。Spring以其轻量级、模块化和强大的依赖注入特性而闻名,它简化了企业级Java...
1. Spring框架:Spring是全面的企业级应用开发框架,它包含了依赖注入(DI)、面向切面编程(AOP)、数据访问/集成(DAO)、Web应用、事务管理等多个模块。Spring的核心是IoC(Inversion of Control)容器,它负责...
为了能够在项目中使用上述注解,需要确保Spring配置文件中添加了相应的命名空间,以及开启了对注解的支持。通常情况下,需要在Spring配置文件中加入以下内容: ```xml <context:component-scan base-package=...
Spring框架是Java开发中的核心组件,它为应用程序提供了一个全面的基础设施,支持bean的依赖注入、面向切面编程(AOP)以及各种服务。Spring框架的灵活性和模块化设计使得开发者能够选择他们需要的部分,而忽略其他...
而在Spring中,这些依赖关系的管理交给了Spring容器。容器负责创建和管理组件及其依赖项,并将它们自动组装起来。 - **优点**: - **减少耦合度**:组件不再直接创建依赖对象,而是通过容器来获取,这样可以更容易...
以上是 Spring 2.5.6 学习笔记中的关键知识点,通过这些基础知识的学习,开发者可以开始构建基于 Spring 框架的应用程序。接下来,可以进一步深入学习 Spring 的高级特性,如事务管理、安全性、Web 开发等方面的知识...
Spring提供了强大的IOC/DI容器,可以帮助我们实现对象之间的解耦。我们可以通过XML文件或注解来配置bean,并将其注入到容器中。Spring还提供了 setter 注入、构造方法注入、接口注入等多种方式来注入依赖关系。 ...
Spring框架是Java开发中的核心组件,它为应用程序提供了...尚硅谷框架课堂笔记.pdf》这两份资料,你将能够深入了解Spring5的核心概念、使用方法以及最佳实践,从而更好地掌握这一强大的框架,并应用于实际项目开发中。
Spring框架是Java开发中不可或缺的一部分,它为开发者提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,极大地简化了企业级应用的开发。本笔记将深入讲解Spring的核心概念和使用方法,帮助你快速掌握这一重要...
马士兵老师的Spring框架学习笔记会详细讲解这些概念,并结合实例帮助读者理解并掌握如何在实际项目中应用Spring框架。通过学习,你可以提升Java开发技能,更好地理解和运用Spring生态,为你的职业发展奠定坚实基础。