这篇文章主要介绍了怎么全注解方式构建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部分,项目搭建,代码说明,以及在这过程中遇到的问题的小结
<强>项目搭建强>
依次选择文件,新的春天遗留项目
在弹出的对话框中选择Spring MVC项目,填写项目其他信息
最后生成的SpringMVC项目的POM文件中要做些修改,因为这时生成的项目使用的是Spring3,而这次的目的是练习使用Spring4(这里做个标志,以后有时间回来看看怎样可以直接生成Spring4的)
至此,项目已经生成,项目文件结构如下
代码说明
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项目