我创建了一个具有REST Web服务和jpa依赖项的spring启动应用程序。该应用程序作为独立应用程序独立运行。我正在尝试使用vaadin添加UI层作为使用sring启动项目中的服务的单独项目。有没有一种简单的方法可以将spring boot应用程序作为可以包含在其他项目中的库jar。
我搜索了论坛,发现一些建议不使用spring boot但是使用spring框架创建库的线程。只是想检查是否有任何示例如何在Spring启动中完成此操作。
答案 0 :(得分:1)
这里要注意的主要事项是:
@SpringBootApplication(scanBasePackages = {"me.ramswaroop.jbot", "example.jbot"})
在启动spring-boot应用程序的主类中的。请参阅此main class了解详情。但说实话,根据我的说法,使用Spring-Boot将库包含在其他项目中并不是一个好的选择。如果我要重写JBot那么我肯定不会以这种方式使用Spring-Boot。
Spring-Boot 非常适合创建一个独立的应用程序,您只需运行"但要创建一个库,嗯,不是我最喜欢的选择。
答案 1 :(得分:0)
像Morphic所说,你需要决定是否要使用Java本地调用库方法,或者是否要设置Web服务。听起来你正在构建一个REST API,在这种情况下,我不会打扰它作为一个库。我只需运行你的spring启动应用程序(java -jar myservice.jar,或mvn spring:boot run),然后在Spring Boot为你的服务打开的任何端口上使用HTTP REST连接到它。
如果您决定将Spring Boot应用程序加载为库jar,那么您可能根本不需要Spring启动。你需要的只是你的服务方法和Spring配置打包在一起作为jar,mvn安装到你的本地仓库,然后在vaadin项目的pom文件中引用你的jar(所有这一切假设你将它创建为maven项目)。 / p>
答案 2 :(得分:0)
如果您打算让Vaadin调用REST API,那么您已经从浏览器创建了(通常是像AngularJS这样的客户端框架),那么您就误解了Vaadin。 Vaadin应用程序在服务器端运行。
所以可以做的是运行两个服务器,一个运行Vaadin应用程序,另一个调用第二个运行REST API的服务器。但是如果不需要这种拆分,您可以使用构成REST API的类作为直接从Vaadin应用程序代码调用的常规Java API。