【JAVA笔记——术】GetResource 实现方式
2016-06-13 11:33
323 查看
直接上代码
运行结果如下
结果比较明显,总结如下:
1 Class.getResource是从class所属目录进行加载,所以可以在多个资源文件时采用这种加载方式例如iBastis的Mapper加载
Resources文件,在构建之后都合并在ClassPath内,所以可以采用这种方式进行分散装配
2 ClassLoader.getSystemResource(“”)是从ClassPath获取路径
3 ClassLoaderTest.class.getClassLoader().getResource(“”) 也是从ClassPath下获取路径,根据源码可以看到ClassLoader采用双亲委派模型获取Resource,因此推荐采用这种方式,当使用自定义ClassLoader时,可以灵活实现Resource装配
System.out.println(ClassLoaderTest.class.getResource("")); System.out.println(ClassLoaderTest.class.getResource("/")); System.out.println(ClassLoaderTest.class.getResource("\\")); System.out.println(ClassLoaderTest.class.getResource("test.properties")); System.out.println(); System.out.println(ClassLoader.getSystemResource("")); System.out.println(ClassLoader.getSystemResource("/")); System.out.println(ClassLoader.getSystemResource("\\")); System.out.println(ClassLoader.getSystemResource("com/turing")); System.out.println(); System.out.println(ClassLoaderTest.class.getClassLoader().getResource("")); System.out.println(ClassLoaderTest.class.getClassLoader().getResource("/")); System.out.println(ClassLoaderTest.class.getClassLoader().getResource("\\")); System.out.println(ClassLoaderTest.class.getClassLoader().getResource("test.properties"));
运行结果如下
file:/E:/WorkSpace/Eclipse/Test/bin/com/turing/classloader/ file:/E:/WorkSpace/Eclipse/Test/bin/ file:/E:/WorkSpace/Eclipse/Test/bin/com/turing/classloader/%5c null file:/E:/WorkSpace/Eclipse/Test/bin/ null file:/E:/WorkSpace/Eclipse/Test/bin/%5c file:/E:/WorkSpace/Eclipse/Test/bin/com/turing file:/E:/WorkSpace/Eclipse/Test/bin/ null file:/E:/WorkSpace/Eclipse/Test/bin/%5c file:/E:/WorkSpace/Eclipse/Test/bin/test.properties
结果比较明显,总结如下:
1 Class.getResource是从class所属目录进行加载,所以可以在多个资源文件时采用这种加载方式例如iBastis的Mapper加载
/ /src/main/java /com.turing.entity Info.java /com.turing.dao InfoDao.java /com.turing.daoImpl InfoDaoImpl.java /src/main/resources /com /turing /entity InfoMapper.xml
Resources文件,在构建之后都合并在ClassPath内,所以可以采用这种方式进行分散装配
2 ClassLoader.getSystemResource(“”)是从ClassPath获取路径
3 ClassLoaderTest.class.getClassLoader().getResource(“”) 也是从ClassPath下获取路径,根据源码可以看到ClassLoader采用双亲委派模型获取Resource,因此推荐采用这种方式,当使用自定义ClassLoader时,可以灵活实现Resource装配
相关文章推荐
- Java对象的序列化和反序列化
- RxJava操作符(04-过滤操作)
- java 计算引擎比较
- ArrayList实现冒泡排序
- RxJava操作符(04-过滤操作)
- struts2配置默认Action
- java并发编程(六)--volatile意外问题的正确分析解答
- 打包java项目并生成可执行文件exe
- Spring中获取bean的方式总结
- leetcode 50. Pow(x, n)-细说边界问题
- 基于Java构建微服务 -- 初步认识
- Java编程开发设计模式之--原型模式(Prototype)
- JAVA 之 模板方法模式
- Spring官方文档学习(3.2)
- java文件操作小记
- java并发编程(五)--volatile变量修饰符—意料之外的问题
- Java Servlet 接收上传文件
- Java学习之集合框架(下)
- Failed to load JavaHL Library解决方法
- quartz的job中注入spring对象!