ognl 方法如何获取classloader 的值及用法示例 如何获取classloader
如何确认是红框的那个呢,可以随便找个项目中的类,使用
- 方式一:sc 命令
sc -d com.zhumeng.springstudy.module.util.SpringContextUtil
结果如下
从箭头所指的位置可以明确看出其classloader name,也就是ognl调用时用到的
-
方式二:classloader -u
classloader -u
ognl --classLoaderClass sun.misc.Launcher$AppClassLoader
而另个红框里的则是同等效果的hash参数
ognl -c 18b4aac2 '#context=@com.zhumeng.springstudy.module.util.SpringContextUtil@getApplicationContext(),#context.getBean("userServiceImpl").getUserInfoById(5)'
如何取到springboot的上下文ApplicationContext,并拿到对应的bean?
通过实现ApplicationContextAware
接口来获取