2017-05-25 55 views
5

Tôi đang làm việc trên Khởi động mùa xuân. Tôi có một số nghi ngờỨng dụng khởi động Spring hoạt động như thế nào?

  1. Như tôi biết khởi động mùa xuân có hàm main() và nó gọi là chạy tĩnh() có trong SpringApplication. Nhưng tôi muốn biết dòng chảy của ứng dụng khởi động Spring là gì?
  2. Chúng tôi có thể chạy ứng dụng khởi động mùa xuân không phải là máy chủ tomcat, nếu có?
  3. Làm thế nào để thêm bộ lọc CROSS trong ứng dụng khởi động mùa xuân? Như chúng ta đã biết trong ứng dụng Spring MVC, chúng ta cấu hình CROSS Filter trong web.xml, nhưng Spring boot chúng ta không có web.xml, Vậy làm thế nào để cấu hình nó?

Trả lời

6

Dưới đây là luồng dòng chảy cao hoạt động của khởi động mùa xuân.

Từ phương pháp chạy, ngữ cảnh ứng dụng chính được khởi động, lần lượt tìm kiếm các lớp được chú thích bằng @Configuration, khởi tạo tất cả các bean được khai báo trong các lớp cấu hình đó, và dựa trên phạm vi của các bean đó. trong jvm, đặc biệt trong một không gian bên trong JVM được gọi là container IOC. Sau khi tạo tất cả các bean, tự động cấu hình servlet dispatcher và đăng ký ánh xạ xử lý mặc định, messageConverts và tất cả những thứ cơ bản khác.

Về cơ bản, khởi động mùa xuân hỗ trợ ba máy chủ được nhúng: - Tomcat (mặc định), Jetty và Undertow.

Bạn có thể thêm các bộ lọc chéo trong khởi động mùa xuân trong một trong các tập tin cấu hình như

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addCorsMappings(CorsRegistry registry) { 
     registry.addMapping("/api/**"); 
    } 
} 
+0

Giải thích tốt về dòng khởi động mùa xuân. Cảm ơn Nếu tôi muốn chạy ứng dụng khởi động mùa xuân bằng máy chủ jboss, thì làm thế nào để cấu hình? –

+0

Bạn có thể cấu hình máy chủ jboss như bất kỳ máy chủ nào khác, tôi định cấu hình nó từ chế độ xem máy chủ trong ide của bạn, điều duy nhất ở đây là bạn không thể định cấu hình jboss làm máy chủ được nhúng với khởi động mùa xuân. –

+0

để chạy ứng dụng khởi động mùa xuân trong jboss, tôi cần triển khai tệp chiến tranh trong máy chủ jboss, phải không? –

3
  1. Như tôi biết khởi động mùa xuân có một main() và nó gọi chạy tĩnh() mà hiện diện trong SpringApplication. Nhưng tôi muốn biết dòng chảy của ứng dụng khởi động mùa xuân là gì?

mùa xuân khởi động làm việc với rất nhiều generic AutoConfiguration, ví dụ DataSourceAutoConfiguration cho DataSource vv Vì vậy mà bạn không cần phải làm nhiều của các cấu hình và chỉ tập trung vào logic kinh doanh. Đọc this để biết thêm

  1. Chúng tôi có thể chạy ứng dụng khởi động mùa xuân không phải máy chủ tomcat, nếu có?

Có, bạn có thể khởi động ứng dụng Khởi động mùa xuân làm ứng dụng Bảng điều khiển hoặc với các máy chủ web khác như Jetty. Đọc this để biết thêm

  1. Cách thêm CROSS Filter vào ứng dụng khởi động Spring? Như chúng ta đã biết trong ứng dụng Spring MVC, chúng ta cấu hình CROSS Filter trong web.xml, nhưng Spring boot chúng ta không có web.xml, Vậy làm thế nào để cấu hình nó?

Bạn chỉ cần thêm một FilterRegistrationBean trong lớp học của bạn với phương pháp chính hay bất kỳ lớp khác với @Configuration đăng ký một tùy chỉnh Filter.

@Bean 
    public FilterRegistrationBean crossFilter() { 
     FilterRegistrationBean registration = new FilterRegistrationBean(); 
     registration.setFilter(new CrossFilter()); 
     registration.addUrlPatterns("/*"); 
     return registration; 
    } 
+0

Tôi muốn chạy ứng dụng khởi động mùa xuân sử dụng máy chủ JBoss, vì vậy làm thế nào tôi có thể cấu hình này? –

+1

Bạn có thể đóng gói ứng dụng Khởi động Spring dưới dạng tệp .war và triển khai trong một máy chủ JBOSS. Miễn là JBOSS Server có Servlet Specification 3 nó sẽ hoạt động. – shazin

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