我喜欢使用 javassist 在 Web 应用程序中更改第 3 方类。当 Spring Web 应用程序上下文初始化被调用时,该类被加载org.springframework.web.context.ContextLoaderListener
。我尝试了一个自定义BeanFactoryPostProcessor
,但似乎为时已晚:
javassist.CannotCompileException: by java.lang.LinkageError: loader ... duplicate class definition for name: "SomeClass"
我想这可以通过ContextLoaderListener
在初始化bean之前用一个自定义的替换类来完成。如果可能的话,我宁愿根本不接触 web.xml。
因此,我的问题是是否有办法注册一个回调,该回调在加载任何类的 bean 定义之前执行。