2015-07-14 31 views
27

Tôi có một ứng dụng mùa xuân 3.1.4 hiện có hoạt động tốt và khởi động ok một mình. Tôi hiện đang bắt đầu bối cảnh mùa xuân bằng tay trong một lớp học chính của riêng tôi. Đây không phải là một ứng dụng spring-mvc, nó không chứa bất kỳ servlets, web.xml nào cũng không tạo ra một WAR. Nó chỉ tạo ra một JAR cho một backend tích hợp.Di chuyển ứng dụng mùa xuân hiện có sang spring-boot, cấu hình thủ công spring-boot?

Tôi muốn "bọc" ứng dụng cũ này và khởi chạy ứng dụng này bằng khởi động mùa xuân. Tuy nhiên tôi đang gặp khó khăn trong việc tìm ra cách để làm điều này vì tất cả các ví dụ dường như giả sử tạo ra một ứng dụng "mới".

1) Tôi có tập tin applicationContext.xml hiện tại của tôi với tờ khai đậu ứng dụng mùa xuân hiện tại của tôi trong đó

2) các thiết lập tối thiểu là configs đậu mới mà tôi cần để thêm vào mùa xuân applicationContext.xml hiện tại của tôi là gì tập tin để có khởi động mùa xuân w/tomcat đưa ra và tải tất cả các hạt hiện có của tôi vào bối cảnh bao bọc mùa xuân-khởi động?

Có ai có thể chỉ cho tôi đúng hướng không?

+0

Nếu nó không phải là một ứng dụng web thì tại sao sử dụng Spring Boot với Tomcat? Chỉ cần không sử dụng phụ thuộc web và để khởi động mùa xuân tạo ngữ cảnh cho bạn. Spring Boot doen't yêu cầu phải là một ứng dụng dựa trên web. Bạn cũng có thể sử dụng nó cho các ứng dụng dòng lệnh. –

Trả lời

31

Có một chương dành riêng cho Converting an existing application to Spring Boot trong hướng dẫn tham khảo Khởi động mùa xuân.

Về cơ bản bạn cần phải thêm các phụ thuộc mùa xuân Boot và sau đó thực hiện các điểm nhập cảnh chính như thế này:

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

Tuy nhiên, điều này cũng sẽ kích hoạt tính năng tự động cấu hình Spring Boot dựa trên (trong số những thứ khác) lớp học có sẵn và cấu hình đậu. Bạn có thể muốn disable certain auto-configurations. Để loại trừ cấu hình tự động DataSource và Hibernate JPA, hãy sử dụng:

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

Sử dụng phụ thuộc starter-web, điều này khiến tôi cảm thấy phiền phức, vì nó muốn một số DataSource mà tôi không cần, nhận các lỗi như "Không thể xác định lớp trình điều khiển cơ sở dữ liệu nhúng cho kiểu cơ sở dữ liệu KHÔNG". Tôi muốn một Tomcat được cấu hình đúng và được kết nối với WSSpringServlet để tôi có thể đăng ký một số dịch vụ SOAP tùy chỉnh. – bitsofinfo

+0

Vì vậy, hãy theo dõi http://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-convert-an-existing-application-to-spring-boot này và Tôi nhận được điều này "Không thể xác định lớp trình điều khiển cơ sở dữ liệu nhúng cho loại cơ sở dữ liệu NONE" lỗi. Tôi hoàn toàn không cần một cơ sở dữ liệu khác với những gì tôi đã cấu hình trong các nguồn ngữ cảnh mùa xuân hiện tại mà tôi đang thêm vào ứng dụng như được ghi trong tài liệu. – bitsofinfo

+0

Kiểm tra cấu hình tự động của Spring Boot (trong số những thứ khác) các lớp có sẵn và các bean được cấu hình. Bạn có thể có một phụ thuộc (được sử dụng) hoặc một bean (được định cấu hình sai) kích hoạt một số cấu hình tự động cần nguồn dữ liệu. Để biết thêm chi tiết về các lớp cấu hình tự động, hãy xem [reference] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#auto-configuration-classes). – hzpz

Các vấn đề liên quan