Java相同全限定名的类加载顺序

相同的类指:类的全限定名一样

问题:

怎么优先加载自己写的类

1. 解析:

 class文件所在位置, 直接在classpath下, 在jar包中

 a: 相同的类, 一个在web-inf/classes目录下, 一个在jar包中: 此时优先加载classes目录下的class文件

b:相同的类, 都在jar包中:此时按照jar的装载顺序, 简单的如果没有其他的特殊处理, 就按照jar包的名字排序。 如先加载aa.jar中的文件, 再加载bb.jar中的文件

2. 结论

a.将.class文件放在classes文件夹下

b.如果所有的class被打包为jar, 就修改jar包的名字, 保证先加载自己的jar包。


框架自身的类BaseClass对所有的访问做了aop(即http请求--->BaseClass--请求日志-->http要请求的目标方法---->BaseClass---->响应给http),所有的出参、入参都会被打印出日志来。  有些日志是不需要的, 为了不显示这些api的日志, 就需要对BaseClass改造。改造后要让框架优先加载自己复写的BaseClass类。

猜你喜欢

转载自blog.csdn.net/changerzhuo_319/article/details/78925184
今日推荐