Ta aplikacja nie jest aplikacją Wiosna MVC ile mogę powiedzieć - będzie to prawdopodobnie dużo łatwiej migrować jeśli to było. Celem (według wydania github) jest uzyskanie wykonywalnego pliku JAR. Podstawowym planem może być jednak migracja najpierw do WAR przy użyciu Spring Boot, a następnie do JAR, gdy działa. Jest to dość prosta aplikacja, więc wszystko, co naprawdę musimy zrobić, to spojrzeć na web.xml
i przetłumaczyć ją na odpowiednie funkcje Spring Boot. Oto kilka ogólnych instrukcji:
Utwórz możliwą do wdrożenia WAR przez rozszerzenie SpringBootServletInitializer
(np. W klasie o nazwie Application
) i dodaj adnotację Spring Boot @EnableAutoConfiguration
. Przykład:
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
Następnie dodać konfigurację:
@Bean
typu Servlet
lub ServletRegistrationBean
instaluje bean zbiornika tak, jakby to był <servlet/>
i <servlet-mapping/>
w web.xml
A @Bean
typu Filter
lub FilterRegistrationBean
zachowuje się podobnie (jak <filter/>
i <filter-mapping/>
).
ApplicationContext
w tym przypadku jest zakorzenione w pliku XML, więc najprostszym Pierwszym krokiem jest @Import
że do wiosny Application
. Ten jest tak prosty, że można go odtworzyć w kilku wierszach jako definicje.
Statyczne zasoby mogą zostać przeniesione do /public
(lub /static
lub /resources
lub /META-INFO/resources
) w korzeniu ścieżce klasy
Gdy wojna się pracę wykonujemy to wykonywalny dodając metodę main
aby nasz Application
, np
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
Zobacz także Getting Started Guide on Converting a JAR to a WAR.
Jak już powiedziałem, największym problemem związanym z tą konkretną aplikacją jest to, że nie jest to aplikacja Spring MVC. Jak powiedziałby Irlandczyk: "Gdybym chciał tam dotrzeć, proszę pana, nie chciałbym zaczynać tutaj."Ogólnie jest to interesujące pytanie, ale polecam wszystkim, którzy chcą przenieść aplikację Spring do Spring Boot, zapoznajcie się z ogólną radą, ale może rozpocznijcie kolejną dyskusję gdzie indziej."
W każdym razie, będę miał bash przy konwersji ta konkretna aplikacja (słoiki z kodem źródłowym byłoby miło) i zaktualizuj tę odpowiedź, jeśli nauczę się czegoś nowego
Spodziewam się, że z springbootem, tendencja będzie coraz bardziej rosła od WAR do JAR. niezła porcja kłopotów, by spróbować zainstalować przyjazny pom.xml, który pozwoli mi pracować wydajnie z springboot + gwt. Rozumiem wykonawczą koncepcję JAR, przechodząc przez podwójne wyłączenie mola GWT i upewnienie się, że GWT kompiluje umieszcza źródła w META-INF/zasobach, aby działały prawidłowo duri ng czas dev. Ale tak, niektórzy ludzie mogą chcieć przejść z JAR do WAR, głównie w celu wdrożenia na coud. silnik aplikacji. Ale ogólnie wiosenne buty są ładniejsze jak JAR. – 99Sono
co z projektem mutli war? http://stackoverflow.com/questions/35632394/converting-multi-war-application-to-spring-boot – Yosefki
@ dave-syer, dzięki za notatki, jestem bardzo pomocny. Wiem, że jest to bardzo stary post, ostatnio zostałem poproszony o ocenę przy migracji względnie stabilnej aplikacji internetowej Non SpringMVC do Spring Boot. Pomysł polega na przekonwertowaniu na wykonywalny styl słoika, aby mógł być wdrażany w chmurze z funkcją automatycznego skalowania. Czy mógłbyś doradzić, jaka była twoja opinia na ten temat? Cokolwiek zmieniło się w Spring BOOT w ciągu ostatnich 3 lat, które może wpłynąć na lub przeciw. – Venkat