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

时间:2015-08-14 12:30:55

标签: java eclipse spring tomcat read-eval-print-loop

我正在Tomcat 8上开发基于Spring MVC和Hibernate的Web应用程序(用于部署和本地开发)。 IDE是Spring Tool Suite(基于Eclipse)。

我想在我的应用程序上下文中打开一个REPL(read-eval-print-loop,如Groovy,Python,Ruby等)(当它在本地运行Tomcat时),通过缩短代码来加速开发 - >测试反馈循环。

也就是说,我希望能够在命令行(或Eclipse内部)中打开shell并执行以下操作:

ClientDAO clientDAO = getAutowiredDAOFromSpringSomehow();
Client client = clientDAO.findByID(100);
client.setName("Another name");
clientDAO.save(client);

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

如果它更方便(我显然仍然需要访问我的对象),我愿意使用Groovy或Scala的shell。

我有什么选择?

2 个答案:

答案 0 :(得分:1)

您可以使用 JShellBeanShell

Here's a project 使用 BeanShell 在他的 android 应用程序中嵌入 repl

答案 1 :(得分:0)

我不知道它对您的用例是否有用,但理论上应该可以使用CRaSH执行此操作。它是像Linux上的Bash一样的Shell,但对于你的Java应用程序而言,它可以创建你自己的命令。