我可以在Spring Web应用程序的上下文中打开一个REPL吗?

9
我正在开发一个基于Spring MVC和Hibernate的Web应用程序,使用Tomcat 8进行部署和本地开发。我的IDE是Spring Tool Suite(基于Eclipse)。
我想在应用程序运行的情况下(在本地Tomcat上),打开一个REPL(类似于Groovy、Python、Ruby等的REPL),以通过缩短代码->测试反馈循环来加快开发速度。
也就是说,我希望能够在命令行(或Eclipse内部)中打开一个shell,并执行以下操作:
ClientDAO clientDAO = getAutowiredDAOFromSpringSomehow();
Client client = clientDAO.findByID(100);
client.setName("Another name");
clientDAO.save(client);

我可以通过在控制器中设置断点并使用Eclipse的调试器显示选项卡来执行任意代码,从而解决这个问题,但这有点不切实际和不舒适。

如果使用Groovy或Scala的shell更方便的话,我也愿意尝试(当然,我仍然需要访问我的对象)。

我有哪些选择?


1
我知道你排除了“显示”选项卡,但对于那些寻找它的人来说,Spring Tool Suite将其称为“调试 Shell”。 - Noumenon
2个回答

3

1
我不知道这对你的使用场景是否有用,但理论上应该可以使用CRaSH来实现。它类似于Linux上的Bash Shell,但适用于你的Java应用程序,并且可以创建自己的命令。

我尝试在我的应用程序中设置CRaSH,以尝试查看它是否提供某种REPL循环,但仍然无法运行。有任何相关文档吗? - Rafael Almeida
这个链接应该会指导你正确地配置它 :) 然后你可以使用groovy插件来执行任何你想要的代码。 - Halko Karr-Sajtarevic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接