本人苦逼学生一枚,马上就要毕业,面临找工作,实在是不想离开学校.在老师的教导下学习了spring mvc ,配置文件实在繁琐,因此网上百度学习了spring mvc 全注解方式完成spring的装配工作;

废话不多说了上干货,其实我也没怎么理解不过简单的运行了一个spring mvc 全注解项目,也不能说是全注解,因为保留了web.xml和spring-serlvet.xml文件,(可能有的童鞋会说,这样配置可能对以后的修改不方便,无法达到只修改配置文件就切换某些环境。其实不是,零配置文件只是修改了类定义的配置,并没有修改之前配置文件的灵活性。我想无论谁也不会在之前的web.xml中去修改某个servlet的配置吧。况且这些所谓的配置文件灵活性,只是针对某个值,我们可以写在我们的properties文件里面,而且Spring对这类配置文件有很好的支持,而且使用很方便,有兴趣的童鞋可以去search一下。所以请打消这个配置不灵活的念头)。

首先我们看一下项目结构

项目采用maven管理,入门的同学应该都知道maven的优点,可以学习一下.

下面看一下核心的配置java类

1 packagecn.edu.lhs.config;2 importorg.springframework.context.annotation.Bean;3 importorg.springframework.context.annotation.ComponentScan;4 importorg.springframework.context.annotation.Configuration;5 importorg.springframework.web.servlet.config.annotation.EnableWebMvc;6 importorg.springframework.web.servlet.view.JstlView;7 importorg.springframework.web.servlet.view.UrlBasedViewResolver;8

9 @Configuration10 @ComponentScan("cn.edu.lhs")11 @EnableWebMvc12 public classwebConfig {13 /**

14 * jsp视图解析器15 */

16 @Bean17 publicUrlBasedViewResolver setupviewResolver(){18 UrlBasedViewResolver resilver=newUrlBasedViewResolver();19 resilver.setPrefix("WEB-INF/views/");20 resilver.setSuffix(".jsp");21 resilver.setViewClass(JstlView.class);22 returnresilver;23

24

25 }26 }

以上代码为配置spring-mvc.xml下的jsp视图解析的

让后就是去web.xml

package cn.edu.lhs.config;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.ServletRegistration.Dynamic;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.web.WebApplicationInitializer;

import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;

import org.springframework.web.servlet.DispatcherServlet;

@ComponentScan("cn.edu.lhs")

public class webInitalizer implements WebApplicationInitializer {

public void onStartup(ServletContext servletContext)throws ServletException{

AnnotationConfigWebApplicationContext ctx=new AnnotationConfigWebApplicationContext();

ctx.register(webConfig.class);

ctx.setServletContext(servletContext);

Dynamic servlet=servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));

servlet.addMapping("/");

servlet.setLoadOnStartup(1);

}

}

这里以webApplicationINitializer接口,利用AnnotationCOnfigwebApplicationCOntext 类

寄存器

public void register(Class ... annotatedClasses)

注册要处理的一个或多个注释类。

注册配置类

现在就可以删除web.xml里的东西了

项目代码:https://github.com/tsxylhs/spring-mvc

java spring mvc_java spring mvc 全注解相关推荐

  1. Spring MVC 全注解配置 (十一)

    完整的项目案例: springmvc.zip 目录 实例 项目结构: 父级的pom配置: <?xml version="1.0" encoding="UTF-8&q ...

  2. spring+hibernate+Struts2 整合(全注解及注意事项)

    最近帮同学做毕设,一个物流管理系统,一个点餐系统,用注解开发起来还是很快的,就是刚开始搭环境费了点事,今天把物流管理系统的一部分跟环境都贴出来,有什么不足的,请大神不吝赐教. 1.结构如下 2.jar ...

  3. spring boot(7)-mybatis全注解化

    关于配置数据库可以参考上一篇文章,这里只讲mybatis pom.xml [html] view plaincopyprint? <!-- 引入mybatis --> <depend ...

  4. Spring学习day02-通过全注解模式实现CRUD

    前言 1.为什么要学习纯注解开发? 2.纯注解开发的优势? 3.使用纯注解开发达到的目标 4.实现纯注解开发的步骤 一.纯注解开发 1.为什么要学习纯注解开发? 因为后续将要学习的SpringBoot ...

  5. Java持久层框架MyBatis全注解详解

    org.apache.ibatis.annotations包下有着 mybatis 所有的注解,让我们一文打尽! 1 @Mapper MyBatis映射器的标记接口 从mybatis3.4.0开始加入 ...

  6. java 框架mvc_JAVA框架-MVC模式

    MVC MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. Model(模型) - 模型代表一个存取数据的对象或 JAVA PO ...

  7. spring-102-spring全注解快速实现事务

    之前使用jdbc操作数据库,并使用事务的时候是这样操作: Connection connection = null;try {//connection = getConnection(....);// ...

  8. JAVA面试--史上最全 69 道 Spring 面试题和答案

    2019独角兽企业重金招聘Python工程师标准>>> Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发J ...

  9. springmvc3.2+spring+hibernate4全注解方式整合(一)

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

最新文章

  1. 输出超限怎么解决 oj_三菱PLC输出指示灯输出模块不亮怎么解决
  2. SAP物料标准成本估算结果
  3. python摄像头人脸识别代码_python 实现摄像头人脸识别
  4. MTV: Django眼中的MVC
  5. Java 锁之 CAS
  6. 如何为每个URL连接设置自定义SSLSocketFactory的TrustManager
  7. 单片机片外程序存储器数据存储器操作命令
  8. exp参数feedback_Oracle数据库逻辑增量备份恢复之exp/imp参数inctype
  9. MyEclipse添加Mybatis generator插件
  10. python使用梯度下降方法实现线性回归算法_python实现线性回归梯度下降算法
  11. linux c自写时钟,关于internal_add_timer函数(linux/kernel/timer.c中定义的)的一个问题
  12. 概率统计Python计算:单个正态总体均值的双侧区间估计
  13. 必应暗藏戏精模式,拿捏名人说话语气口头禅!官方还自推三种个性供挑选
  14. 图片上怎么加文字?看完就你知道了
  15. Windows获取系统唯一标识UUID
  16. 09-Hadoop编程
  17. 一个有用的数据库:中国研究数据服务平台(CNRDS)
  18. 前程无忧网站,职位信息一步到位函数爬取!!!真一步到位
  19. 权重衰退之罚(规则项)
  20. 大学生创新创业计划书参考

热门文章

  1. c语言简答程序源代码,C语言简答题答案
  2. 血栓清道夫机器人_血栓“清道夫”找到了!木耳排第三,排在第一很多人都并不知道...
  3. des和aes相比较有哪些特点_栓流气力输送相比较传统的高速气力输送方式而言,有哪些优势?...
  4. springboot urlresource_Spring Boot上传文件+部署到Tomcat
  5. c语言的一段程序,C语言第一个程序(入门)
  6. 怎么提升笔记本显卡性能
  7. ElasticSearch的update_by_query使用
  8. 机器视觉 光学工程专业_瑞士Idonus MEMS制造设备 创新技术 机器视觉测量(远心光学)...
  9. c语言’内存清除函数,c语言常用内存处理函数
  10. java thrift连接池_由浅入深了解Thrift之客户端连接池化