1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
需求:在配置文件中,配置类的全限定名,以及配置一个方法名,通过解析配置文件,让配置好的方法执行起来
className=包名.Person
methodName=eat
步骤:
1.创建properties配置文件,配置信息
a.问题:properties配置文件放到哪里?
将来我们开发完之后给用户的是out路径下的class文件,将class文件打包, 如果将配置文件直接放到模块下
那么out路径下是不会生成这个配置文件的,如果没有配置文件,程序也就运行不起来了
解决:我们可以将配置文件放到src下,放到src下,out路径下就会出现配置文件
b.问题:将配置文件放到src下,out路径下会自动生成配置文件,但是如果我们将来将所有的配置文件都放到src下,那么src下面会显得特别乱
解决:我们可以单独创建一个文件夹,将所有的配置文件放到此文件夹下,将此文件夹改成资源目录,取名为resources
2.读取配置文件,解析配置文件
a.问题:如果将配置文件放到resources资源目录下,我们怎么读取
new FileInputStream("模块名\\resources\\properties文件名") -> 这样不行,out路径下没有resources -> 相当于写死了
b.问题解决:用类加载器
ClassLoader classLoader = 当前类.class.getClassLoader()
InputStream in = classLoader.getResourceAsStream("文件名")//自动扫描resources下的文件->可以简单理解为扫描out路径下的配置文件
3.根据解析出来的className,创建Class对象
4.根据解析出来的methodName,获取对应的方法
5.执行方法
|