• ServletRegistrationBean的源码摘要


    感觉ServletRegistrationBean在Springboot中是一个可以看懂的类,好像作用就相当于@Controoller注解,

    package org.springframework.boot.web.servlet;
    
    /**
     * A {@link ServletContextInitializer} to register {@link Servlet}s in a Servlet 3.0+
     * container. Similar to the {@link ServletContext#addServlet(String, Servlet)
     * registration} features provided by {@link ServletContext} but with a Spring Bean
     * friendly design.
     * <p>
     * The {@link #setServlet(Servlet) servlet} must be specified before calling
     * {@link #onStartup}. URL mapping can be configured used {@link #setUrlMappings} or
     * omitted when mapping to '/*' (unless
     * {@link #ServletRegistrationBean(Servlet, boolean, String...) alwaysMapUrl} is set to
     * {@code false}). The servlet name will be deduced if not specified.
     *
     * @param <T> the type of the {@link Servlet} to register
     * @author Phillip Webb
     * @since 1.4.0
     * @see ServletContextInitializer
     * @see ServletContext#addServlet(String, Servlet)
     */
    public class ServletRegistrationBean<T extends Servlet>
            extends DynamicRegistrationBean<ServletRegistration.Dynamic> {
    
        private static final String[] DEFAULT_MAPPINGS = { "/*" };
    
        private T servlet;
    
        private Set<String> urlMappings = new LinkedHashSet<>();
    
        private boolean alwaysMapUrl = true;
    
        private int loadOnStartup = -1;
    
        private MultipartConfigElement multipartConfig;
    
        /**
         * Create a new {@link ServletRegistrationBean} instance.
         */
        public ServletRegistrationBean() {
        }
    
        /**
         * Create a new {@link ServletRegistrationBean} instance with the specified
         * {@link Servlet} and URL mappings.
         * @param servlet the servlet being mapped
         * @param urlMappings the URLs being mapped
         */
        public ServletRegistrationBean(T servlet, String... urlMappings) {
            this(servlet, true, urlMappings);
        }
    
        /**
         * Create a new {@link ServletRegistrationBean} instance with the specified
         * {@link Servlet} and URL mappings.
         * @param servlet the servlet being mapped
         * @param alwaysMapUrl if omitted URL mappings should be replaced with '/*'
         * @param urlMappings the URLs being mapped
         */
        public ServletRegistrationBean(T servlet, boolean alwaysMapUrl,
                String... urlMappings) {
            Assert.notNull(servlet, "Servlet must not be null");
            Assert.notNull(urlMappings, "UrlMappings must not be null");
            this.servlet = servlet;
            this.alwaysMapUrl = alwaysMapUrl;
            this.urlMappings.addAll(Arrays.asList(urlMappings));
        }

     很多这样的bean最后交给了Spring管理。

  • 相关阅读:
    Dice 5 ==> dice 7
    Dice 7 ==> dice 5
    100 floors 2 eggs
    Determine overlapping rectangles
    Product of integers
    Maximum profit of stocks
    样式表
    20170508
    2017年05月07
    The second day of school
  • 原文地址:https://www.cnblogs.com/Robin008/p/10287606.html
Copyright © 2020-2023  润新知