使用java config 配置spring 和spring mvc
2018-01-13 19:13
603 查看
无xml配置的环境,主要基于java config
继承AbstractAnnotationConfigDispatcherServletInitializerpublic class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { /** * 启动器 * * @param servletContext servletContext * @throws ServletException ServletException */ @Override public void onStartup(ServletContext servletContext) throws ServletException { //调用父类的方法启动spring super.onStartup(servletContext); //自定义的serlvet注册 customizeRegistrationServlet(servletContext); } /** * spring根容器注解扫描,扫描controller之外的包,一些基于java config 的配置类 */ @Override protected Class<?>[] getRootConfigClasses() { return new Class<?>[]{}; } /** * 注册自定义的Servlet,listener 等 * * @param servletContext servletContext */ private void customizeRegistrationServlet(ServletContext servletContext) { } /** * 注册 Filter,父类中返回null 子类可以覆盖此方法 ,注册Filter * * @return Filter[] */ @Override protected Filter[] getServletFilters() { return new Filter[]{}; } /** * spring mvc 容器启动时的监听 * * @return ApplicationContextInitializer<?>[] */ @Override protected ApplicationContextInitializer<?>[] getServletApplicationContextInitializers() { SpringMvcAppInitListener applicationContextInitializer = new SpringMvcAppInitListener(); return new ApplicationContextInitializer[]{applicationContextInitializer}; } /** * spring 根容器启动时的监听事件,可以提前初始化一些配置,可以实现 * 区分spring boot 加载不同的配置文件.区分dev . test . prod * * @return ApplicationContextInitializer<?>[] */ @Override protected ApplicationContextInitializer<?>[] getRootApplicationContextInitializers() { SpringRootAppInitListener springRootAppInitListener = new SpringRootAppInitListener(); return new ApplicationContextInitializer[]{springRootAppInitListener}; } /** * spring mvc的注解扫描,只扫描controller的包 */ @Override protected Class<?>[] getServletConfigClasses() { return new Class<?>[]{SpringMvcConfig.class}; } /** *DispatcherServlet 映射路径,DispatcherServlet 本身就是一个Serlvet */ @Override protected String[] getServletMappings() { return new String[]{"/"}; } /** * DispatcherServlet 配置项 */ @Override protected void customizeRegistration(Dynamic registration) { registration.setInitParameter("dispatchOptionsRequest", "true"); super.customizeRegistration(registration); } }
自此整个配置就结束了,下面分析下自定义实现spring boot 基于不同的环境加载不同配置文件.
相关文章推荐
- Spring(三):使用java config配置spring mvc
- Spring使用AOP记录日志(javaconfig配置)
- 如何使用纯java config来配置spring mvc
- Spring MVC 零配置 / Spring MVC JavaConfig
- 如何使用Javaconfig代替web.xml配置spring
- 使用java config配置spring mvc + swagger
- 译--Spring中 bean定义profiles的使用 javaConfig 和XML配置
- Spring使用JavaConfig配置声明式事务管理
- JavaConfig配置spring使用tomcat jdbc pool 后报找不到"com.mysql.jdbc.Driver"类
- 使用JavaConfig来配置Spring MVC中的DispatcherServlet
- Spring MVC 零配置 / Spring MVC JavaConfig
- 在Spring中使用@Configuration注解加载JavaConfig配置
- 使用java config 配置的spring mvc 启动过程分析
- 关于spring data redis使用javaConfig的基本配置
- Spring MVC 零配置 / Spring MVC JavaConfig
- spring实战六之使用基于java配置的Spring
- spring+hibernate 二级缓存 配置+java使用实例
- Spring4 javaConfig配置方式并集成JUnit
- [Spring实战系列](15)使用Spring基于Java的配置
- Java Eclipse(mac)环境使用maven 加载spring,hibernate 及java的一些配置