一般web项目配置文件都放在classPath下面,读取的时候:

1  import java.io.InputStream;
2 import java.util.Properties;
3 public class DealConnection {
4 private static String url = "";
5 private static String user = "";
6 private static String pwd = "";
7 private static String connStr="";
8 //构造方法
9 public DealConnection() {
10 InputStream istr = DealConnection.class.getClassLoader().getResourceAsStream("/parse.properties");//获取classPath下面的配置文件
11 Properties p=new Properties();
12 p.load(istr);
13 istr.close();
14 //获取各个配置的值
15 url=p.getProperty("url").trim();
16 user=p.getProperty("user").trim();
17 pwd=p.getProperty("pwd").trim();
18 connStr=p.getProperty("connStr");
19 }
20 //数据库连接方法
21 public Connection openConn(){
22 Connection conn=null;
23 try {
24 Class.forName(connStr).newInstance();
25 conn = DriverManager.getConnection(url, user, pwd);
26 } catch (Exception e) {
27 e.printStackTrace();
28 }
29 return conn;
30 }
31 }

现在如果想把配置文件放到外面,让别人也可以方便修改配置文件,假设:配置文件放到tomcat/bin/conf文件下,就修改读取文件那里

public DealConnection() {
String name=System.getProperty("user.dir");//得到的路径在tomcat/bin路径
InputStream istr;
try {
istr = new FileInputStream(name + "/conf/parse.properties");//读取就是tomcat/bin/conf下的配置文件
Properties p=new Properties();
p.load(istr);
istr.close();
url=p.getProperty("url").trim();
user=p.getProperty("user").trim();
pwd=p.getProperty("pwd").trim();
connStr=p.getProperty("connStr");
} catch (Exception e) {
e.printStackTrace();
}

applicationContext.xml,在读取classPath配置文件的时候,路径classpath:jdbc.properties

<!-- 属性文件的位置 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>

如果要读取tomcat/bin/conf下的配置文件,路径改成:file:conf/jdbc.properties,它是相对于web容器的

<!-- 属性文件的位置 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>file:conf/jdbc.properties</value>
</property>
</bean>

读取web外的配置文件的更多相关文章

  1. jar包中的类如何读取包内和包外的配置文件

    最近将代码打包成jar包,关于如何处理读取配置文件的问题特此记录一下. out.properties a.jar -com -a.class -in.properties 如上所示,out.prope ...

  2. C#Unit单元测试之读取Web.config文件

    长期一来,我们所完成的项目都没有写单元测试,今天我一时兴起,决定给自己写的代码写单元测试,简单的测试代码分分钟完成了,一运行测试,就懵逼了.没能达到我的预期效果,而是出现图1所示错误. 图1:单元测试 ...

  3. 读取本地外网IP地址

    读取本地外网IP地址. 根据启动并运行的网卡名称,找到本机实际的IP地址(已知当前运行的无线网卡名包含某一个字符) import java.net.InterfaceAddress; import j ...

  4. C#之读取web上的xml

    一.使用LINQ读取使用Xdocument上的Load方法,可以快速的加载一个XML文档,然后使用LINQ对 加载XML文档进行查询或其他操作,这里仅简单偏历.所以,一旦查询一组元素有返回元素集,就可 ...

  5. SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池

    三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...

  6. Spring读取外部的资源配置文件—@PropertySource和@Value实现资源文件配置

    通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值: @PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,标识在@ ...

  7. Setup Factory 读取安装包的配置文件

    result = INIFile.GetValue(SessionVar.Expand("%SourceFolder%\\set.ini"), "set", & ...

  8. 仿联想商城laravel实战---6、自建配置文件和缓存(如何读取自己创建的配置文件的信息)

    仿联想商城laravel实战---6.自建配置文件和缓存(如何读取自己创建的配置文件的信息) 一.总结 一句话总结: config()及相应的方法 1.前端插件选择好了,后端开发超级省力? 比如多图上 ...

  9. 读取web应用下的资源文件(例如properties)

    package gz.itcast.b_resource; import java.io.IOException; import java.io.InputStream; import java.ut ...

随机推荐

  1. is7.0中发布mvc网站,一直无法正常执行路由的解决办法

    在config中加一句话: <system.webServer> <validation validateIntegratedModeConfiguration="fals ...

  2. 20165202 2017-2018-2 《Java程序设计》第9周学习总结

    教材学习内容总结 Ch13 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序. 一个URL对象通常包含最基本的三 ...

  3. PostgreSQL日志号LSN和wal日志文件简记

    弄明白日志号的原理之后,一段时间又有点忘记了,干脆整理一遍: (一)wal文件命名规则 1)在$PGDATA目录下面的pg_xlog目录中存放着xlog日志文件(10.1之后变为了pg_wal): t ...

  4. Jquery如何获取ASP.NET服务器控件的值

    关键字: Jquery 服务器控件 获取值 由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,总结有以下3种方法:   服务器控件代码:<asp:Te ...

  5. EasyDSS RTMP流媒体服务器videojs flash播放RTMP/HLS提示错误的解决方案

    本文转自EasyDSS团队成员StarIT的博客:http://blog.csdn.net/staritstarit/article/details/73692715 问题 在博客<EasyDS ...

  6. 一张图说明HTTPS 握手过程

  7. times(NULL) Segmentation fault

    ****************************************************************************** * times(NULL) Segment ...

  8. sudo 运行 npm或node时,出现找不到命令

    sudo 运行 npm或node时,出现找不到命令的情况,运行下面这些命令, sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/ ...

  9. 在notepad++中插件安装的办法

    在notepad++中插件安装的办法新版的notepad++去掉了一个叫做插件管理工具的插件.这就导致我们不能通过界面去安装notepad++的一些比较方便的插件了.本文通过手动安装插件管理工具和ft ...

  10. 字符串处理scanf("%d%*c",&n);

    "*"表示该输入项读入后不赋予任何变量,即跳过该输入值.这在减小内存开支上面还是有一点用处的,不需要的字符直接跳过,免得申请没用的变量空间 你的例子中的%*c的作用是读入'\n', ...