1.需求:有时候我们产品经理给我们的需求是会不断变化的,例如数量是1000现在变成500,我们不可以去改代码吧,这样很麻烦,所以就可以改配置文件properties(这个数据库链接一样),当然也有json格式的配置,我们暂不讨论

2.经历:先看图

(1)我之前以为直接在src创建system.properties然后

package cs.util;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
*
* @author JJ
*
*/
public class SetSystemProperty {
//属性文件的路径
static String profilepath="src/system.properties";
/**
* 采用静态方法
*/
private static Properties props = new Properties();
static {
try {
props.load(new FileInputStream(profilepath));
} catch (FileNotFoundException e) {
e.printStackTrace();
System.exit(-1);
} catch (IOException e) {
System.exit(-1);
}
} /**
* 读取属性文件中相应键的值
* @param key
* 主键
* @return String
*/
public static String getKeyValue(String key) {
return props.getProperty(key);
} }

  

(2)做个测试

package cs.util;

public class test {

	public static void main(String[] args) {
// TODO Auto-generated method stub
SetSystemProperty property=new SetSystemProperty();
String name=property.getKeyValue("name");
System.out.println(name);
} }

  确实可以打印正确值,但是我部署到服务器(tomcat)里面就找不到配置文件路径,晕

3、解决方法

(1)配置文件不变暂放在src下面,修改类

package cs.util;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
*
* @author JJ
*
*/
public class SetSystemProperty {
static Properties props;
public void GetDBConfigStr()
{
props = new Properties();
InputStream in;
try{
in=this.getClass().getResourceAsStream("/system.properties");
props.load(in);
}
catch(Exception e)
{
System.out.print(e.getMessage());
return ;
}
if(props.isEmpty())
{
return;
}
}
public String getValueByKey(String key)
{
return props.get(key).toString(); } public SetSystemProperty() {
super();
GetDBConfigStr();
} }

(2)在web项目中后台java的调用例子截图

最新文章

  1. [C#]浅析ref、out参数
  2. 学习SAP HANA SQL
  3. 借用Google API在线生成网站二维码地址方法
  4. SQL初级第三课(下)
  5. 1120练习,CSS制作网页
  6. Smart210---LED驱动
  7. git config(转载)
  8. SPCOMM 接收数据不完整!该如何解决
  9. SWD模式和JTAG模式
  10. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-002-激活PROFILE、设置默认值、@ActiveProfiles
  11. Samples DataBind FastJson循环引用问题
  12. python对字符串分割和截取的方法
  13. webstorm 卡死解决方法
  14. 【django之modelform】
  15. 【转载】Windows服务器修改远程桌面默认端口
  16. supervisor开机自动启动脚本+redis+MySQL+tomcat+nginx进程自动重启配置
  17. centos7部署fabric-ca错误解决
  18. Android 开发添加控件事件的三种方式
  19. Swift2.1keyword @noescape介绍
  20. curl模拟多线程抓取网页(优化)

热门文章

  1. Angular.js中使用$watch监听模型变化
  2. AM335x kernel4.4.12 LCD 时钟翻转设置记录
  3. Bootstrap表单验证插件bootstrapValidator使用方法整理
  4. sz rz SecureCRT
  5. git 命令熟悉
  6. DataSet装换为泛型集合 222
  7. 如何将 NavigationBar 的半透明效果关闭?
  8. tomcat启动报错No UserDatabase component found under key UserDatabase
  9. Mysql Master-slave 主从配置
  10. java中的集合/容器的数据结构