ServletRegistrationBeanAdapter Class — spring-boot Architecture
Architecture documentation for the ServletRegistrationBeanAdapter class in ServletContextInitializerBeans.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/web/servlet/ServletContextInitializerBeans.java lines 284–332
private static class ServletRegistrationBeanAdapter implements RegistrationBeanAdapter<Servlet> {
private final @Nullable MultipartConfigElement multipartConfig;
private final ListableBeanFactory beanFactory;
ServletRegistrationBeanAdapter(@Nullable MultipartConfigElement multipartConfig,
ListableBeanFactory beanFactory) {
this.multipartConfig = multipartConfig;
this.beanFactory = beanFactory;
}
@Override
public RegistrationBean createRegistrationBean(String beanName, Servlet source, int totalNumberOfSourceBeans) {
String url = (totalNumberOfSourceBeans != 1) ? "/" + beanName + "/" : "/";
if (beanName.equals(DISPATCHER_SERVLET_NAME)) {
url = "/"; // always map the main dispatcherServlet to "/"
}
ServletRegistrationBean<Servlet> bean = new ServletRegistrationBean<>(source, url);
bean.setName(beanName);
bean.setMultipartConfig(this.multipartConfig);
ServletRegistration registrationAnnotation = this.beanFactory.findAnnotationOnBean(beanName,
ServletRegistration.class);
if (registrationAnnotation != null) {
Order orderAnnotation = this.beanFactory.findAnnotationOnBean(beanName, Order.class);
Assert.notNull(orderAnnotation, "'orderAnnotation' must not be null");
configureFromAnnotation(bean, registrationAnnotation, orderAnnotation);
}
return bean;
}
private void configureFromAnnotation(ServletRegistrationBean<Servlet> bean, ServletRegistration registration,
Order order) {
bean.setEnabled(registration.enabled());
bean.setOrder(order.value());
if (StringUtils.hasText(registration.name())) {
bean.setName(registration.name());
}
bean.setAsyncSupported(registration.asyncSupported());
bean.setIgnoreRegistrationFailure(registration.ignoreRegistrationFailure());
bean.setLoadOnStartup(registration.loadOnStartup());
bean.setUrlMappings(Arrays.asList(registration.urlMappings()));
for (WebInitParam param : registration.initParameters()) {
bean.addInitParameter(param.name(), param.value());
}
bean.setMultipartConfig(new MultipartConfigElement(registration.multipartConfig()));
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free