Java tutorial
/* * Copyright 2014 - 2016 Yannick Watier * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.ratty.configs; /** * Created by Yannick on 19/9/2015. */ import org.ratty.impl.HelloServiceImpl; import org.ratty.impl.SecurityServiceImpl; import org.ratty.services.HelloService; import org.ratty.services.SecurityService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; @Configuration @ComponentScan("org.ratty.*") @EnableWebMvc public class AppConfig extends WebMvcConfigurerAdapter implements WebApplicationInitializer { @Bean public HelloService helloService() { return new HelloServiceImpl(); } @Bean public SecurityService securityService() { return new SecurityServiceImpl(); } public void onStartup(ServletContext servletContext) throws ServletException { final AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ctx.register(AppConfig.class); ctx.setServletContext(servletContext); final ServletRegistration.Dynamic dynamic = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx)); dynamic.addMapping("/"); dynamic.setLoadOnStartup(1); } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } }