类加载器加载配置文件

//在resource文件夹下创建一个db.properties文件

里面存2个值:

//加载该文件内容:

@RunWith(SpringRunner.class)
@SpringBootTest
public class JestTest {

    @Test
    public void getProperties() throws IOException {
        //通过2种方式获取类加载器,然后可以将配置文件加载进行进来,一个是Thread类获取,另一个是字节码对象获取
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        //ClassLoader loader = JestTest.class.getClassLoader();
        InputStream inputStream = loader.getResourceAsStream("db.properties"); //读取文件转成输入流
        Properties p = new Properties();
        p.load(inputStream);
        System.out.println(p.get("name")); //test
        System.out.println(p.get("url"));//127.0.0.1
        System.out.println(p.get("password"));//null

    }
}

  

原文地址:https://www.cnblogs.com/yangxiaohui227/p/11200175.html

时间: 2024-11-14 12:39:41

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

通过类加载器加载资源文件

/*******************************************第一种方法***************************************************************/ public class Demo {    //资源文件可以通过类加载器的方式加载到内存中,这种方式的好处是程序不用明确制定配置文件的具体所在目录.程序可以自动的在    //src目录下搜索该文件,并加载    //采用下面这种方法还有一种弊端,就是,通过类加载器加载

自定义类加载器——加载任意指定目录的class文件

public class MyClassLoader extends ClassLoader{ String path;//自定义类加载器所负责的文件夹 public MyClassLoader(String path) { super(); this.path = path; } @SuppressWarnings("deprecation") @Override protected Class<?> findClass(String name) throws Class

JVM自定义类加载器加载指定classPath下的所有class及jar

一.JVM中的类加载器类型 从Java虚拟机的角度讲,只有两种不同的类加载器:启动类加载器和其他类加载器. 1.启动类加载器(Boostrap ClassLoader):这个是由c++实现的,主要负责JAVA_HOME/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作. 2.其他类加载器:由java实现,可以在方法区找到其Class对象.这里又细分为几个加载器 a).扩展类加载器(Extension ClassLoader):负责用于加载JAVA_HOM

Android进阶:十三、自定义类加载器加载加密类文件

之前面试的时候有许多面试官问类加载器相关的问题,所以这是一个很重要的知识点.而且对于高级Android研发来讲,懂得更多类加载相关的东西,对开发也会有很多的帮助,比如热更新,类加密等.其实笔者对类加密比较感兴趣,就稍稍调研了一下.类加密的其实是为了防止APP被反编译,防止反编译的方法有很多种,比如混淆,加固等.自己对类文件进行加密,并自定义类加载器也是一种办法: 首先我们的代码打包编译之后会变成难以读懂的二进制字节码,并且变成.class文件.但是简单的APP编译出来之后可以被反编译,甚至你写的

Android进阶:自定义类加载器加载加密类文件

之前面试的时候有许多面试官问类加载器相关的问题,所以这是一个很重要的知识点.而且对于高级Android研发来讲,懂得更多类加载相关的东西,对开发也会有很多的帮助,比如热更新,类加密等.其实笔者对类加密比较感兴趣,就稍稍调研了一下.类加密的其实是为了防止APP被反编译,防止反编译的方法有很多种,比如混淆,加固等.自己对类文件进行加密,并自定义类加载器也是一种办法: 首先我们的代码打包编译之后会变成难以读懂的二进制字节码,并且变成.class文件.但是简单的APP编译出来之后可以被反编译,甚至你写的

java加载配置文件

转载自http://blog.163.com/wb_zhaoyuwei/blog/static/183075439201261764454791/ 当我们自己的程序需要处理配置文件时(比如xml文件或properties文件),通常会遇到两个问题: (1)我的配置文件应该放在哪里? (2)怎么我的配置文件找不到了? 对于第一个问题,答案是:请将你的资源文件放在classpath里,如果资源文件在jar中,请将该jar文件也加到classpath里面. 对于第二个问题,就得看你是使用的是哪个类(C

0002 - Spring MVC 拦截器源码简析:拦截器加载与执行

1.概述 Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权限验证.记录请求信息的日志.判断用户是否登录等. 2.简单示例 2.1.继承 HandlerInterceptorAdapter 抽象类实现一个拦截器.代码如下: public class DemoInterceptor extends HandlerInterceptorAdapter { @Override    pu

springboot属性类自动加载配置文件中的值

springboot属性类自动加载配置文件中的值,如Person类加载在yml中配置的name,age等属性值,可以通过如下步骤获取: 类上添加@ConfigurationProperties注解,prefix为yml中配置的属性名称,要想属性类生效得加上@Component注解 如果想要在yml中有对应类的提示,还需要添加如下依赖: yml书写如下: 如果是properties文件,则书写如下: 在yml中如果值中有特殊字符,需要转义可以用单引号包裹,默认是双引号 如果仅仅为类中的某个属性值赋

Spring4.1使用c3p0加载配置文件连接数据库,Access denied for user &#39;root&#39;@&#39;localhost&#39; 错误!

db.properties jdbc.user=root jdbc.password=admin jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc\:mysql\:///spring4 jdbc.initialPoolSize=5 jdbc.maxPoolSize=10 Spring.xml中 <context:property-placeholder location="classpath:db.properties&quo