mfk*_*son 7 spring web.xml vaadin spring-boot
我想把我的项目转换为基于弹簧的产品.
我的第一步是将我的java Web应用程序从生成的WAR文件转换为由spring boot启动的独立可执行jar.
让我们从github:Vaadin-Spring Web应用程序中获取一个开源Web应用程序示例
我希望有一些指导我进行转型.
Dav*_*yer 13
据我所知,这个应用程序不是Spring MVC应用程序 - 如果是这样的话,它可能会更容易迁移.目标(根据github问题)是获取可执行的JAR.虽然基本计划可能是首先使用Spring Boot迁移到WAR,然后在运行时再迁移到JAR.这是一个非常简单的应用程序,所以我们真正需要做的就是查看web.xml并将其转换为相关的Spring Boot功能.以下是一些一般指南:
通过扩展SpringBootServletInitializer(例如,在一个被调用的类中Application)创建可部署的WAR ,并添加Spring Boot @EnableAutoConfiguration注释.例:
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
Run Code Online (Sandbox Code Playgroud)
然后添加一些配置:
A @Bean类型Servlet或ServletRegistrationBean将bean安装在容器中,就像它是a <servlet/>和<servlet-mapping/>in一样web.xml
A @Bean类型Filter或FilterRegistrationBean行为类似(如a <filter/>和<filter-mapping/>).
在ApplicationContext这种情况下根植于一个XML文件,所以最简单的第一步是@Import该到了Spring Application.这个很简单,它可以作为@Bean定义在几行中重新创建.
静态资源可以移动到类路径根目录中/public(/static或/resources或/META-INFO/resources)
一旦WAR工作,我们通过向main我们添加一个方法使其可执行Application,例如
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
Run Code Online (Sandbox Code Playgroud)
另请参阅有关将JAR转换为WAR的入门指南.
正如我所说,这个特定应用程序的最大问题是它不是一个Spring MVC应用程序.正如爱尔兰人可能会说"如果我想去那里,先生,我不会从这里开始." 这是一个有趣的问题,但我建议其他任何想要将Spring应用程序迁移到Spring Boot的人阅读这里的一般建议,但也许可以在其他地方开始另一个讨论.
无论如何,我将有一个bash转换这个特定的应用程序(源代码罐子会很好),并更新此响应,如果我学到新的东西.
| 归档时间: |
|
| 查看次数: |
9298 次 |
| 最近记录: |