使用PropertyPlaceholderConfigurer类载入外部配置在Spring项目中,你可能需要从properties文件中读入配置注入到bean中,例如数据库连接信息,memcached server的地址端口信息等,这些配置信息最好独立于jar包或者war包,这样便于修改配置。Spring提供了PropertyPlaceholderConfigurer类来处理这件事情。例如,要载入配置文件中的mysql配置信息:jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mypage
jdbc.username=root
jdbc.password=123456
我们需要在spring配置文件中定义PropertyPlaceholderConfigurer的location属性,这个location指向配置文件的位置:<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="location" value="file:${APP_HOME}/conf/mypage.properties"/>
</bean><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
在上面的例子中PropertyPlaceholderConfigurer类的systemPropertiesModeName的属性是SYSTEM_PROPERTIES_MODE_OVERRIDE这意味着可以从jvm虚拟机的参数中获得配置信息。配置location的值中的${APP_HOME}可以根据环境不同设置不同的值,例如在开发环境,设置开发环境的目录,而在线上环境就要配置线上配置文件的路径了。对于jar包文件,需要在启动jar包时指定APP_HOME的值,例如:java -classpath test.jar  -DAPP_HOME=/data0/conf cn.outofmemory.App
而对于运行在tomcat容器中的war包,需要修改下tomcat目录下的bin/catalina.sh文件,在此文件中添加或者修改如下变量的值:JAVA_OPTS="-Xms2560m -Xmx5120m -DAPP_HOME=/application/outofmemory.cn/conf/"
注意-Xms2560m -Xmx5120m是为了修改虚拟机的内存值,-DAPP_HOME才影响配置文件位置。给PropertyPlaceholderConfigurer指定必要的属性之后就可以通过${variable}的形式将配置文件中的值植入到bean中了。如果你希望将配置文件放在jar包或者war包内,那么需要将location中的file:去掉,例如在war包中通常会放在/WEB-INF/conf路径下,那么可以这么写:<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="location" value="/WEB-INF/conf/mypage.properties"/>
</bean>

转载于:https://www.cnblogs.com/yuyuchen/p/8707499.html

spring读取jdbc(file方式)相关推荐

  1. Spring读取配置文件,获取bean的几种方式

    Spring读取配置文件,获取bean的几种方式 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemX ...

  2. 关于spring读取配置文件的两种方式

    很多时候我们把需要随时调整的参数需要放在配置文件中单独进行读取,这就是软编码,相对于硬编码,软编码可以避免频繁修改类文件,频繁编译,必要时只需要用文本编辑器打开配置文件更改参数就行.但没有使用框架之前 ...

  3. Spring实战6-利用Spring和JDBC访问数据库

    主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRep ...

  4. Spring读取xml配置文件的原理与实现

    2019独角兽企业重金招聘Python工程师标准>>> Spring读取xml配置文件的原理与实现 本篇博文的目录: 一:前言 二:spring的配置文件 三:依赖的第三方库.使用技 ...

  5. spring整合JDBC 实现拦截器用户的登录和注册的案例源代码及解析

    前言:为了大家学习的方便,我自己完成了一个登录注册的小案例供大家参考,如有疑问?请私信博主,小主辛苦总结,望大家转载请标明出处. **项目介绍:**本项目使用的是spring整合jdbc实现用户的登录 ...

  6. java servlet 输出_JavaWeb中servlet读取配置文件的方式

    我们在JavaWeb中常常要涉及到一些文件的操作,比如读取配置文件,下载图片等等操作.那我们能不能采用我们以前在Java工程中读取文件的方式呢?废话不多说我们来看看下我们以前在Java工程中读取文件是 ...

  7. spring(10)通过spring 和 JDBC征服数据库

    [0]README 1)本文部分文字描述转自:"Spring In Action(中/英文版)",旨在review  "spring(10)通过spring 和 JDBC ...

  8. Spring Data JDBC通用DAO实现–迄今为止最轻量的ORM

    我很高兴宣布Spring Data JDBC存储库项目的第一个版本. 这个开放源代码库的目的是为基于Spring框架中 JdbcTemplate关系数据库提供通用,轻量且易于使用的DAO实现,与项目的 ...

  9. Spring使用JDBC访问MySQL数据库

    在Java应用程序开发中,使用JDBC访问MySQL数据库是Java开发者常用的技术.在Spring框架中,Spring对JDBC又进行了封装,简化了程序访问数据库的复杂度.本课主要讨论在Spring ...

  10. Spring不同事务管理方式与声明式事务管理局部回滚处理方案

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分.  DataS ...

最新文章

  1. LeetCode-38 报数
  2. mysql 5.6 gtid 主从_MySQL5.6基于GTID的主从复制
  3. JDBC通过连接池链接数据库总是失败的解决办法
  4. 跳槽,你的工作经验货真价实吗?
  5. aptx android8,秒杀苹果无线音频!Android 8.0蓝牙音质支持aptxHD/LDAC
  6. 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
  7. [中文翻译] ASP.NET 5 简介(Introducing ASP.NET 5,原作ScottGu 2015/2/23)
  8. python frame框架,第12讲,frame 框架控件
  9. Java电子发票管理系统
  10. Qt编写地图综合应用14-离线地图下载
  11. 基于stc8a的ad9833模块的例程的使用
  12. k近邻算法_机器学习算法之——K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解...
  13. 推荐这几个数据大屏可视化开发工具
  14. 感谢孙权、欢迎行癫,阿里云在路上!
  15. 弘辽科技:淘宝新商家怎么做起来?如何经营一个新店?
  16. android入门-MMS-短彩信发送/接收流程【图】
  17. python绘制激活函数图像
  18. 快速下载官方网站软件
  19. php圆的周长_php面向对象编程练习:计算矩形、三角形、圆形的周长和面积
  20. 网页防篡改技术发展趋势

热门文章

  1. 我和阿里的情缘和故事
  2. Android Multimedia框架总结(二十)MediaCodec状态周期及Codec与输入/输出Buffer过程(附实例)
  3. android点击按钮修改文本,如何在android中每3秒动态更改按钮文本?
  4. java为什么要设计包装类_Java 为什么需要包装类
  5. 数字货币交易系统_符合数字货币市场的量化交易系统
  6. expert php and mysql_Expert PHP and Mysql
  7. java 读取文件的大小_java读取文件大小
  8. MySql8.0.15修改root密码
  9. 《Python Cookbook》笔记_列表等可迭代对象的解压赋值
  10. Redis安装(源码安装)