是的,你可以做到,但你需要重新设计你的应用程序。您应该将应用程序分成两个不同的应用程序。(简而言之:您还有很长的路要走)
1-客户端应用程序:Java应用程序与最终用户交互的位置。
2-服务器应用程序:应用程序与DataBase交互的位置。此应用程序可以通过您的网络与您的客户交谈。
注意:请记住,客户端的任何应用程序都可以反编译。甚至可以监视客户端 - 服务器之间的所有通信。
有很多方法可以在服务器和客户端之间进行通信。您可以选择自己的(Socket通信)或遵循REST或SOAP等标准。
如果您想使用REST或SOAP,那么有许多现成的框架和库可用,其中Spring就是其中之一。由于您需要具有服务器应用程序(例如:Rest服务器),因此您需要在容器中运行服务器应用程序,在这种情况下,Tomcat是JAVA世界中最着名的一个。
但是有更好的开始方式;你可以为你的服务器应用程序制作一个Spring Boot应用程序。大多数库甚至您的容器都已嵌入,您只需要专注于您的应用程序逻辑。一旦完成,您只需运行一个jar文件,您的客户端就可以通过网络开始与服务器应用程序通信。缺点是您需要遵循弹簧启动标准。
您还可以通过Spring Security framework保护您的Rest API(这是完全独立的主题),但您可以将其简化为每个REST调用的服务器 - 客户端之间的令牌交换。
所以在这种情况下,假设有人反编译你的客户端应用程序,他会
什么都看不到,有些是API链接,没有登录和令牌就无法工作。
同时保持在中间你还需要保护服务器和客户端之间的通信通过TLS扔网络。(这是完全独立的主题)