Migrer l'application Spring existante vers spring-boot, configurer manuellement spring-boot?

J'ai une application Spring 3.1.4 existante qui fonctionne bien et démarre correctement par elle-même. Je démarre actuellement le contexte spring manuellement dans une classe principale. Ce n'est pas une application spring-mvc, elle ne contient pas de servlets, web.xml ne génère pas non plus de guerre. Il produit juste un JAR pour un backend d'intégration.

Je voudrais "envelopper" cette application héritée et la lancer avec spring-boot. Cependant j'ai du mal à comprendre comment faire cela comme tous les exemples semblent le faire supposons la création d'une "nouvelle" application.

1) j'ai mon applicationContext existant.fichier xml avec mes déclarations de bean d'application spring existantes

2) Quel est l'ensemble minimum de nouvelles configurations de bean que je dois ajouter à mon applicationContext Spring existant.fichier xml afin d'avoir Spring-boot W/ tomcat lancé et charger tous mes beans existants dans le contexte enveloppé spring-boot?

Quelqu'un peut-il me diriger dans la bonne direction s'il vous plait?

31
demandé sur bitsofinfo 2015-07-14 17:14:55

1 réponses

Un chapitre est consacré à la conversion d'une application existante en Spring Boot dans le guide de référence Spring Boot.

Fondamentalement, vous devez ajouter les dépendances de démarrage Spring, puis implémenter le point d'entrée principal comme ceci:

@SpringBootApplication
@ImportResource("classpath:applicationContext.xml")
public class MySpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class, args);
    }
}

Cependant, cela déclenchera également la configuration automatique de Spring Boot en fonction (entre autres) des classes disponibles et des beans configurés. Vous voudrez peut-être désactiver certaines configurations automatiques . Pour exclure DataSource et Mise en veille prolongée JPA Auto-configuration, utiliser:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
33
répondu hzpz 2016-02-07 15:02:52