我正在尝试为我的spring启动应用程序编写一个自定义JPA-EntityListener,它以某种方式识别应用程序上下文。在阅读文档以了解如何实现这一点时,我偶然发现了随spring-data附带的AuditingEntityListener和@Configurable Annotation,它也在此Listener中使用,它允许配置不受spring管理的对象。所以我试着在我自己的Listener中使用它,但是注释不会被识别。我已经阅读了有关此主题的文档和许多帖子,但其中一些似乎已经过时了。这就是为什么我在这里问:
在任何情况下,我是否必须为LoadTimeWeaving指定spring-instrument.jar? spring文档说有其他方法,也可以在应用程序上下文中配置它(每个类加载器?)。但是当我使用@EnableLoadTimeWeaving启动我的应用程序而没有在命令行上指定代理时,我收到错误。
我想知道为什么即使在未指定@EnableLoadTimeWeaving和@EnableSpringConfigured的应用程序中,也会在启动时识别AuditingEntityListener。是因为分布式弹簧罐已经用CTW编译了吗?
我也尝试过CompileTimeWeaving但是与lombok冲突了。我从2011年找到了解决方案/解决方法,但这对我不起作用。有没有办法做到这一点?
LTW和CTW的优点和缺点是什么,是实现自定义ApplicationContext的JPAEntityListener的最佳方法?