MyBatis Java不同方式加载文件时的路径格式问题、Mybatis中加载.properties文件
public class LoadPropTest {
public static void main(String[] args) throws IOException {
//一、Properties的load方法加载文件输入流
Properties props=new Properties();
File file1=new File("F:/Program Files/Java/IdeaProjects/MyBatisDemo/src/db.properties");
File file2=new File("src/db.properties");
File file3=new File("src/com/biguo/datasource/jdbc.properties");
//File file4=new File("jdbc.properties"); 报错,引起了我对相对路径的思考
FileInputStream fileInputStream1=new FileInputStream(file3);
FileInputStream fileInputStream2=new FileInputStream("src/com/biguo/datasource/jdbc.properties");
props.load(fileInputStream2);
System.out.println(props.getProperty("url"));
//二、通过类加载器 加载配置文件
Properties p = new Properties();
InputStream in = LoadPropTest.class.getClassLoader().getResourceAsStream("com/biguo/datasource/jdbc.properties");
p.load(in);
String name = p.getProperty("username");
System.out.println(name);
//三、基名,文件必须是key=value的properties文件
ResourceBundle bundle = ResourceBundle.getBundle("com/biguo/datasource/jdbc");
String driver = bundle.getString("username");
System.out.println(driver);
}
}
如方式一所示,构造文件对象File时的路径,是以工程所在路径为基础的。所以指定的文件在“src”下,都需要添加“src”。
而方式二和方式三,有个关键词“Resource”,这种情况下通常是以Package路径作为寻找路径,默认是以“src”文件夹为基础的。
MyBatis中在mybatis-config.xml中加载jdbc.properties时,需要在Configuration的标签最前面添加如下元素:
<properties resource="com/biguo/datasource/jdbc.properties">
<!-- 其中的属性就可以在整个配置文件中被用来替换需要动态配置的属性值。 -->
<!--<property name="password" value="pigu20ing" />-->
</properties>
这里也以resource属性指定加载路径。
如果把resource指定为直接放在src文件下的db.properties文件,即resource="db.properties",也可以运行成功。
关于.properties文件,Java中有对应类Properties。Properties类继承自Hashtable,是由一组key-value的集合,常用于为各种配置提供数据。
以下是.properties文件的内容格式:
- 注释内容由 # 或者! 开头
- key,value之间用 = 或者 : 分隔。一行中既有=也有:时,第一个(或者=或者:)将作为key,value分隔符。
- key 不能换行,value可以换行,换行符是\ ,且换行后的\t、空格都会忽略。
MyBatis Java不同方式加载文件时的路径格式问题、Mybatis中加载.properties文件的更多相关文章
- Dialog BLE 学习之 修改分散加载文件 (2)
最近搞Dialog的BLE SDK,发现空间不够了,询问原厂,得知可以通过调整分散加载文件而增加空间,一方面是有42KB+8KB的硬件基础,另一方面是原有的程序限制为38KB+8KB.故顺便学习了下把 ...
- 无法加载文件 **.ps1,系统中禁止执行脚本
控制台执行命令后出现 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing" 在控制台执行命令: s ...
- 服务 在初始化安装时发生异常:System.IO.FileNotFoundException: "file:///D:\testService"未能加载文件或程序集。系统找不到指定文件。
@echo.@if exist "%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" goto INSTALL ...
- 错误:创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Caching,
问题: 错误:创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Caching ...
- 使用Autofac部署IIS6.0时未能加载文件或程序集“System.Core, Version=2.0.5.0...“
错误信息 .net4.0项目中使用autofac这个IOC容器,在部署在win2003+iis6时出现以下错误. “/”应用程序中的服务器错误. --------------------------- ...
- 创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统没找到指定的文件
创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文 ...
- 未能加载文件或程序集“BLL”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
今天使用VS2012创建项目的时候,考虑到项目中代码的重用性以及清晰简洁性,搭建了一个三层架构,但是在项目运行的时候,总是报错: “未能加载文件或程序集“BLL”或它的某一个依赖项.生成此程序集的运行 ...
- .net应用程序安装部署时异常 Error 1001. 在初始化安装时发生异常 System.BadImageFormatException:未能加载文件或程序集 的解决办法【成功解决】
采用.net 4.0框架开发的一个桌面应用程序在某学校的一体机(Windows7的32位操作系统)上做安装部署时抛出异常,安装程序回滚,多次尝试仍不成功. Error 1001. 在初始化安装时发生异 ...
- IIS配置Asp.net时,出现“未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.61025.0”
如果出现未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.61025.0, 主要是没有安装.net framwork 3.5,安装一下就行了. ...
随机推荐
- Spring框架IOC解说
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合.当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象.你可以认为IoC与JN ...
- FOFA 批量采集url 图形化界面编写
这是脚本 # coding:utf- import requests,re import time import sys import getopt import base64 guizhe='' s ...
- iOS开发系列--地图与定位总结
现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的 ...
- SpringBoot RestTemplate接收文件,并将文件发送到另外一个程序进行存储
最近有个需求,接收用户上报的证书,并且保存起来,证书大小不到1M,但该证书的保存必须在另外一个程序进行,所以想到使用springboot接收上传文件后,再通过RestTemplate将文件发送给另外一 ...
- TPCH测试工具
TPC现有的测试标准为:TPC-E.TPC-C.TPC-H.TPC-App.根据这4个测试基准,目前TPC主要包括的4个技术小组委员会:TPC-E 技术小组委员会.TPC-C 技术小组委员会.TPC- ...
- python之Anaconda python3.7安装
1.下载 https://www.anaconda.com/distribution/ #你会发现,使用windows下载十分慢,既然这样,为何不尝试centos(linux)安装呢?本人使用cent ...
- (翻译) How variables are allocated memory in Javascript? | scope chain | lexicial scope
总结: 阅读下面文章需要15分钟 提问者的问题是JavaScript中内存是怎么分配的,在介绍的过程作者涉及计到了JS中 Scope Chain和调用函数call生成lexicial environm ...
- CSS 自适应技巧
DIV的内容垂直居中 不再MARGINT-TOP多少 来居中显示 display:table-cell; #block-1{ width:100%; height:80px; display:tabl ...
- mysql自身报错、java、reids连接mysql数据库报错汇总
1.Can't connect to local MySQL server through socket 'tmpmysql.sock' (2) 原因是mysql根本没有启动 2.Access den ...
- SAP HANA2可视化客户端工具
TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL,MSSQL, Hive,DB2, ...