怎么全注解方式构建SpringMVC项目

  介绍

这篇文章主要介绍了怎么全注解方式构建SpringMVC项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

SpringBoot对春天的的使用做了全面的封装,使用SpringBoot大大加快了开发进程,但是如果不了春天解的特性,使用SpringBoot时会有不少问题

目前网上流传使用想法比Eclipse效率更加高,在搭建项目时,也尝试使用的想法,但是由于习惯问题,最终还是使用了Eclipse,以后也别再折腾了,专注于开发本身更加重要

这是个简单的SpringMVC项目,目的在于帮助理解Spring4的SpringMVC的搭建,采用注解方式。项目简单得不能再简单,采用tomcat +弹簧+ SpringMVC + h3方式搭建。项目启动后,在访问栏输入访问地址http://localhost: 8080/testspringmvc/后直接访问,利用访问地址http://localhost: 8080/testspringmvc/user/10001检测功能是否正常运行,输出结果是为一串JSON字串(java直接转换)

文章分为3部分,项目搭建,代码说明,以及在这过程中遇到的问题的小结

<强>项目搭建

依次选择文件,新的春天遗留项目

怎么全注解方式构建SpringMVC项目

在弹出的对话框中选择Spring MVC项目,填写项目其他信息

怎么全注解方式构建SpringMVC项目

最后生成的SpringMVC项目的POM文件中要做些修改,因为这时生成的项目使用的是Spring3,而这次的目的是练习使用Spring4(这里做个标志,以后有时间回来看看怎样可以直接生成Spring4的)

至此,项目已经生成,项目文件结构如下

怎么全注解方式构建SpringMVC项目

代码说明

public  class  TestMVCInitializer  extends  AbstractAnnotationConfigDispatcherServletInitializer  {   @Override才能   protected 才能;Class< ?在[],getRootConfigClasses ()   {才能   ,,,return  new  Class<?在[],{,RootConfig.class };   ,,}      @Override才能   protected 才能;Class< ?在[],getServletConfigClasses (), {   ,,,return  new  Class<?在[],{,WebConfig.class };   ,,}      @Override才能   protected 才能,String [], getServletMappings (), {   ,,,return  new  String [], {,“/?};   ,,}   }

Spring4中通过继承AbstractAnnotationConfigDispatcherServletInitializer类,重写其方法实现网络项目的配置,其中getRootConfigClasses方法定义了的配置类将用于ContextLoaderListener应用上下文的bean, getServletConfigClasses方法用于定义DispatcherServlet应用上下文中的bean, getServletMappings方法将DispatcherServlet映射到“/?/p> @ configuration   @EnableWebMvc   @ComponentScan (“com.m24.controller")   public  class  WebConfig  extends  WebMvcConfigurerAdapter  {   ,@ bean   public 才能;ViewResolver  viewResolver (), {   ,,,InternalResourceViewResolver  resolver =, new  InternalResourceViewResolver ();   ,,,resolver.setPrefix (“/web - inf/视图/?;   ,,,resolver.setSuffix (“.jsp");   ,,,return 解析器;   ,,}      @Override才能   public 才能;void  configureDefaultServletHandling (DefaultServletHandlerConfigurer 配置),{   ,,,configurer.enable ();   ,,}      @Override才能   public 才能;void  addResourceHandlers (ResourceHandlerRegistry 注册),{   ,,,super.addResourceHandlers(注册表);   ,,}   }

此处注意的是使用@EnableWebMvc,是SpringMVC配置类

最后是业务相关配置类

@ configuration   @ import (DataConfig.class)   @ComponentScan (basePackages =, {“com.m24"},   时间=excludeFilters 才能;@Filter (type=FilterType.CUSTOM,价值=https://www.yisu.com/zixun/RootConfig.WebPackage.class))   公开课RootConfig {   公共静态类WebPackage延伸RegexPatternTypeFilter {   公共WebPackage () {   超级(Pattern.compile (“com.m24.controller”));   }   }   }

由于该配置类中使用了H2数据库,所以还需要引入H2的配置类

@ import (DataConfig.class) @ configuration   public  class  DataConfig  {   ,@ bean   public 才能;DataSource 数据源(),{   ,,,return  new  EmbeddedDatabaseBuilder ()   ,,,,,,,.setType (EmbeddedDatabaseType.H2)   ,,,,,,,.addScript (“schema.sql")   ,,,,,,,.build ();   ,,}      ,@ bean   public 才能;JdbcOperations  jdbcTemplate (DataSource 数据源),{   ,,,return  new  JdbcTemplate(数据源);   ,,}   }

怎么全注解方式构建SpringMVC项目