一般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. 分布式锁-基于ZK和Redis实现

    一.基于zookeeper实现分布式锁 1.1 Zookeeper的常用接口 package register; import java.util.List; import java.util.con ...

  2. APUE学习笔记——11 线程同步、互斥锁、自旋锁、条件变量

    线程同步     同属于一个进程的不同线程是共享内存的,因而在执行过程中需要考虑数据的一致性.     假设:进程有一变量i=0,线程A执行i++,线程B执行i++,那么最终i的取值是多少呢?似乎一定 ...

  3. Linux:修改Shell命令提示符及颜色

    Linux修改Shell命令提示符及颜色   1. Linux登录过程中加载配置文件顺序: /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ...

  4. CSS字幕滚动 !!!

    marquee的基本语法:<marquee> … </marquee>,与大多数HTML语法元素一样,它也是成双出现的,被修饰对象就放在起始符和终止符之间.而且它自己可以实现鼠 ...

  5. chrome浏览器使用记录

    出现错误 net::ERR_BLOCKED_BY_CLIENT 出现这个错误一般是因为chrome安装了adblocker等这样的插件,这些插件会把路径及文件名中包含广告字样的文字禁止掉,比如:adv ...

  6. (效果四)jst如何判断对象是否为空?

    前言:在实现业务逻辑的过程中,很多工程师都会遇到需要判断一个对象,数组是否为空的情景,很多时候我们在请求数据的时候都需要判断请求的对象数据是否为空,如果直接使用,在数据请求为空时,控制台就会报错.因此 ...

  7. 类的静态方法@staticmethod

    静态方法 @staticmethod 静态方法是定义在类内部的函数,此函数的作用域是类的内部 说明: 静态方法需要使用 @staticmethod装饰器定义 静态方法与普通函数定义相同,不需要传入se ...

  8. git学习笔记——查看git历史记录

    1.查看Git日志: 命令:git log 默认不加参数,git日志会按照最新的日期从上往下显示 参数:-p 显示版本间的代码差异 -数字 显示部分的提交 -哈希值 显示指定的版本 2.指定查找范围: ...

  9. Java并发--volatile详情

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  10. CaptureMouse/CaptureStylus 可能会失败

    在 WPF 中,如果我们要做拖动效果,通常会调用一下 CaptureMouse/CaptureStylus 以便当鼠标或手指离开控件的时候依然能够响应 Move 和 Up 事件.不知有没有注意到这两个 ...