我在web模块的界面控制器中尝试引进TransactionalDataManager注解已导入相关jar,但在程序启动时会报该程序包找不到是什么原因?
web
和 core
是两个独立的模块,之间是不能互相引用和访问的。只能通过 global
模块做桥梁,这也是为什么 CUBA 的 service 需要在 global
定义接口的原因。
因此,TransactionalDataManager
只能在 core 模块使用。你的问题可以这样实现:
- 在
global
定义一个服务接口以及需要的方法。 - 在
core
模块实现这个服务接口并在方法内使用TransactionalDataManager
完成所需的任务。 - 在
web
模块注入这个服务,调用所需的方法。
好的 谢谢