类加载器 读取配置文件

package cn.itcast.day2;

import java.io.InputStream;
import java.util.Collection;
import java.util.Properties;

public class ClassLoderTest {
public static void main(String[] args) {
//如何动态取得配置文件的存放路径(不是手动指定绝对路径)
//可以通过类加载器来加载,但是这种方法是只读的不能对加载的配置文件进行操作
//1,获得配置文件的路径
//通过类加载器来获取
//InputStream ips = ReflectTest.class.getClassLoader().getResourceAsStream("cn/itcast/day1.config.property");
ips = ReflectTest.class.getResourceAsStream("config.property")//通过类本身提供的方法
//实际中配置文件会放在一个专门的文件夹中如resource下,此时应该这样写
//ips = ReflectTest.class.getResourceAsStream("resource/config.property")
Properties pros = new Properties();
pros.load(ips);
ips.close();
String className = pros.getProperty(className);
Collection collections = (Collection)Class.forName(className).newInstance();
}
}

类加载器 读取配置文件

时间: 2024-12-18 12:13:31

类加载器 读取配置文件的相关文章

JAVA类加载器二 通过类加载器读取资源文件

一.getResourceAsStream方法 getResourceAsStream方法实现如下: public InputStream getResourceAsStream(String name) { URL url = getResource(name); try { return url != null ? url.openStream() : null; } catch (IOException e) { return null; } } 可见getResourceAsStream

Java基础知识之类加载器

1.类加载器定义 1.1类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通过该实例的newInstance()方法可以创建出一个该类的对象. 1.2类的生命周期: 类从加载到虚拟

java笔记--理解java类加载器以及ClassLoader类

类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通过该实例的newInstance()方法可以创建出一个该类的对象. 类的生命周期: 类从加载到虚拟机内存到被从内存中释放,经历的

类加载与自定义类加载器(67)

类加载 所有类加载器,都是ClassLoader的子类. 类加载器永远以.class运行的目录为准. 读取classpath根目录下的文件有以下几种方式: 1 在Java项目中可以通过以下方式获取classspath下的文件: public void abc(){ //每一种读取方法,使用某个类获取Appclassloader ClassLoader cl = ReadFile.class.getClassLoader(); URL url = cl.getResource("a.txt&quo

深入理解Java类加载器(1)

类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通过该实例的newInstance()方法可以创建出一个该类的对象. 类的生命周期: 类从加载到虚拟机内存到被从内存中释放,经历的

类加载器加载配置文件

//在resource文件夹下创建一个db.properties文件 里面存2个值: //加载该文件内容: @RunWith(SpringRunner.class) @SpringBootTest public class JestTest { @Test public void getProperties() throws IOException { //通过2种方式获取类加载器,然后可以将配置文件加载进行进来,一个是Thread类获取,另一个是字节码对象获取 ClassLoader load

从读取properties文件说开去,浅谈web容器中类加载器

今天刚好有人让我写个通过读取properties连接数据库的小demo. 汗啊,普通项目中可以使用的文件读取,在web项目中总报空指针异常. 查阅了资料明白,赶紧记录下来,希望遇到此类问题的童鞋能引起重视. 废话不说,直接进入主题! 代码清单1: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.io.InputStream; import java.util.Properties; import org.apache.log4

利用java反射机制 读取配置文件 实现动态类加载以及动态类型转换

作者:54dabang 在spring的学习过程之中,我们可以看出通过配置文件来动态管理bean对象的好处(松耦合 可以让零散部分组成一个整体,而这些整体并不在意之间彼此的细节,从而达到了真正的物理上的疏散耦合,而非逻辑,有了IOC之后,我们可以让SPRING充当各框架中的整合器,把技术框架进行完美的结合). Spring实现的一个重要的机制是通过反射(java.lang.reflect)读取配置文件,通过配置文件来动态生成配置文件中的类对象.Java动态加载类主要是为了不改变主程序代码,通过修

java 用类加载器的方式管理资源和配置文件

public class ReflectTest {public static void main(String[] args) throws Exception {    //config.properties 与当前类在不同包下:    InputStream is=ReflectTest.class.getResourceAsStream("/com/jhon/copy/config.properties");    //在同一个包下    //InputStream is=Re