2015-07-14 2 views
27

У меня есть существующее приложение 3.1.4 Spring, которое отлично работает и загружается нормально. В настоящее время я запускаю контекст весны вручную в основном классе. Это НЕ приложение spring-mvc, оно не содержит сервлетов, web.xml и не генерирует WAR. Он просто создает JAR для интеграции.Перенести существующее приложение весны на весеннюю ботинок, вручную настроить весеннюю загрузку?

Я хотел бы «обернуть» это унаследованное приложение и запустить его с помощью пружинного ботинка. Однако мне трудно понять, как это сделать, поскольку все примеры, похоже, предполагают создание «нового» приложения.

1) У меня есть существующий файл applicationContext.xml с моими существующими декларациями весной приложение боба в нем

2) Какой минимальный набор нового боба конфигов, что мне нужно добавить в существующем Spring applicationContext.xml файл, чтобы запустить spring-boot w/tomcat и загрузить все мои существующие bean-компоненты в контекст с загружаемой пружиной?

Может ли кто-нибудь указать мне в правильном направлении, пожалуйста?

+0

Если это не веб-приложение, зачем использовать Spring Boot с Tomcat? Просто не используйте сетевую зависимость и пусть весенняя загрузка создаст для вас контекст. Spring Boot doen't требует быть веб-приложением. Вы можете использовать его и для приложений командной строки. –

ответ

31

В справочнике весенней загрузки имеется глава, посвященная Converting an existing application to Spring Boot.

В основном вам нужно добавить зависимости Spring загрузочных и затем реализовать главную точку входа, как это:

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

Однако, это также приведет к автоматической конфигурации Spring ботинка, основанной на (среди прочего) доступных классов и сконфигурированные бобы. Вы можете захотеть disable certain auto-configurations. Чтобы исключить автоматическую конфигурацию DataSource и Hibernate JPA, используйте:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class }) 
+0

Использование зависимости от стартер-сети, которая меня раздражает, поскольку она хочет, чтобы какой-то DataSource, который мне не нужен, получал такие ошибки, как «Невозможно определить класс встроенного базового драйвера для типа базы данных NONE». Я хочу, чтобы правильно настроенный Tomcat был встроен и подключен к WSSpringServlet, поэтому я могу зарегистрировать некоторые пользовательские SOAP-сервисы. – bitsofinfo

+0

Итак, следуйте этому http://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-convert-an-existing-application-to-spring-boot и Я получаю эту ошибку «Не могу определить встроенный драйвер базы данных для типа базы данных NONE». Мне абсолютно не нужна база данных, отличная от того, что я настроил в моих существующих источниках источника Spring, которые я добавляю к приложению, как указано в документе. – bitsofinfo

+0

Автоматическая конфигурация Spring Boot проверяет (помимо прочего) доступные классы и настроенные компоненты. Вероятно, у вас есть (используемая) зависимость или (неправильно сконфигурированный) компонент, который запускает некоторую автоматическую настройку, которая требует источника данных. Дополнительные сведения о классах автоматической конфигурации см. В [reference] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#auto-configuration-classes). – hzpz

Смежные вопросы