Một câu hỏi chung về việc xây dựng một cuộc chiến tranh từ một ứng dụng khởi động mùa xuân và chạy nó trong một container servlet độc lập. Các tài liệu tôi dường như có vẻ mâu thuẫn với các ví dụ về Stack Overflow.chiến tranh ứng dụng Spring Boot trong một container độc servlet
Câu trả lời here cho thấy cách tôi đọc để làm điều này một vài tháng trước đây. Tôi đọc số here này, nhưng hướng dẫn dường như đã thay đổi mất ứng dụng ví dụ thực tế.
Dưới đây là phương pháp "configure" tham chiếu khởi động mùa xuân chính Application.class.
public class WebInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
Ngoài ra còn có những bài viết here và here mà hiển thị "cấu hình" phương pháp đề cập đến các tiểu lớp SpringBootServletInitializer riêng của mình.
public class BootStrap extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(BootStrap.class, args);
}
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder application) {
return application.sources(BootStrap.class);
}
}
và cũng có phương pháp chính.
Cũng vào mùa xuân-boot-mẫu truyền thống ví dụ ứng dụng tại https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples, trong đó cho thấy "WAR bao bì" làm nó khác nhau
public class WebConfig extends WebMvcConfigurerAdapter {.........
tôi đã tự hỏi là có vấn đề với việc lựa chọn hơn những cách khác nhau dường như đạt được điều tương tự trong khởi động mùa xuân? Hay tất cả chúng đều hoạt động bình đẳng và có thể hoán đổi cho nhau?
cảm ơn lời giải thích kỹ lưỡng - được đánh giá cao :). Tôi đã chọn phương pháp "WebInitializer" như Spring Initializr được đề cập bên dưới đã tạo ra .... – n99
@Andy Wilkinson, bạn nói "Nếu bạn chỉ triển khai ứng dụng của mình vào một thùng chứa servlet độc lập thì bạn không cần một phương thức chính." ... nhưng làm thế nào một người sẽ làm được điều đó? Tất cả các tài liệu về Spring có vẻ là về Spring Boot nhưng không ai sẽ khởi động Spring Boot. Tại một thời điểm nào đó, họ sẽ triển khai một máy chủ độc lập nhưng gần như không có tài liệu về việc đó. Lời khuyên nào? – Jeach
AFAIK, đại đa số mọi người chạy Spring Boot trong sản xuất bằng cách sử dụng một jar thực thi chứ không phải là một máy chủ độc lập. Nếu bạn cần sử dụng một máy chủ độc lập thì cả hai [tài liệu] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file) và câu hỏi này cho bạn biết cách làm như vậy. –