`
aijuans
  • 浏览: 1566059 次
社区版块
存档分类
最新评论

我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer

阅读更多
PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer,但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。也就是说如果properties文件中没有某个bean属性的内容,那么将使用上下文(配置的xml文件)中相应定义的值。如果properties文件中有bean属性的内容,那么就用properties文件中的值来代替上下文中的bean的属性值。
首先看一下配置文件,代码如下:
<bean class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
      <property name="location" value="propertyOverrideHolder.properties"/>
    </bean> 
    <bean id ="student" class="co.jp.beanFactoryPost.Student">
     <property name="name">
      <value>Xiaohailin</value>
     </property>
     <property name="age">
      <value>${age}</value>
     </property>
     <property name="birth">
      <value>${birth}</value>
     </property>
    </bean>

其中student类,在前面已经给出了代码,这里不再叙述。
接着是,properties文件的代码:
student.age=27
student.birth=19820123
测试用的主类的代码如下:
public class PropertyOverrideConfigurerDemo {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("propertyOverrideHolder.xml");
        Student student = (Student) ctx.getBean("student");
        System.out.println(student.getAge());
        System.out.println(student.getBirth());
        System.out.println(student.getName()); 
    }
}

由于配置文件中已经有name属性的值,而properties文件中没有,所以执行后的结果是:
27
19820123
Xiaohailin
如果把properties文件改一下:修改之后的代码如下:
student.age=27
student.birth=19820123
student.name=jiangmin
那么测试主类执行后的结果如下:
student.age=27
student.birth=19820123
student.name=jiangmin
分享到:
评论

相关推荐

    Spring5 框架 ---- IOC容器 ---- 代码

    Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- ...

    SpringDM笔记7-开发SpringDM Bundle

    **SpringDM笔记7-开发SpringDM Bundle** SpringDM(Spring Dynamic Modules)是Spring框架的一个扩展,专门用于OSGi(Open Service Gateway Initiative)环境中的应用程序开发。OSGi是一种Java模块化系统,它允许...

    黑马程序员-SpringCloud-学习笔记01-认识微服务

    黑马程序员-SpringCloud-学习笔记01-认识微服务

    黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心

    黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心

    Spring学习笔记+学习源码.zip

    这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...

    黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用

    黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用

    Springcloud学习笔记.md

    Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...

    Spring2.5.6学习笔记-最新

    以上是 Spring 2.5.6 学习笔记中的关键知识点,通过这些基础知识的学习,开发者可以开始构建基于 Spring 框架的应用程序。接下来,可以进一步深入学习 Spring 的高级特性,如事务管理、安全性、Web 开发等方面的知识...

    spring3.0.5 所有jar文件

    包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...

    Spring学习笔记(精华全记录)

    ### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...

    spring-cglib-repack-3.2.5.jar,spring-objenesis-repack-2.6.jar

    标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是Spring框架在运行时依赖的两个关键库,它们主要涉及到动态代理和对象创建的优化。 1. **CGLIB(Code Generation Library)**: ...

    Spring学习笔记-cqupt

    在本篇 Spring 学习笔记中,我们将探讨 Spring 的入门、优点、组成以及重要的IOC理论。 1. **Spring 简介** Spring 是一个开源的、免费的 Java 框架,它的目标是减少企业级开发的复杂性。它集成了许多现有的技术,...

    SpringDM笔记31-Testing with OSGi and SpringDM

    4. **测试类和继承结构**:压缩包中的"Spring-DM Test Classes and Inheritance Hierarchy"可能包含了一些示例测试类,用于演示如何组织和设计测试代码。这可能涉及到测试类的组织结构,如何继承基类以复用测试逻辑...

    spring-webmvc-struts.jar

    spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包

    spring3.1 官方全部jar包

    org.springframework.spring-library-3.1.RELEASE.libd org.springframework.test-3.1.RELEASE.jar org.springframework.transaction-3.1.RELEASE.jar org.springframework.web.portlet-3.1.RELEASE.jar org....

    org.spring-framework-3.0.4. 所有jar

    org.springframework.spring-library-3.0.4.RELEASE.libd org.springframework.test-3.0.4.RELEASE.jar org.springframework.transaction-3.0.4.RELEASE.jar org.springframework.web.portlet-3.0.4.RELEASE.jar ...

    Spring学习笔记( spring视频笔记)

    Spring学习笔记( spring视频笔记)

    Spring.NET学习笔记 - 刘冬.NET - 博客园

    在笔记5中,刘冬解释了Spring.NET容器中对象的不同作用域,如单例(Singleton)、原型(Prototype)、请求(Request)和会话(Session)等,每个作用域都有其特定的生命周期和适用场景。 6. **环境搭建**: 笔记2...

    Spring学习笔记 自我总结

    spring学习笔记

    spring学习笔记

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...

Global site tag (gtag.js) - Google Analytics