`

抽丝剥茧JavaWeb应用之扯扯springMVC常用注解

阅读更多

本文主要扯一扯工作中经常使用的SpringMVC注解和mybatis批量更新Oracle。本文使用的springmvc的版本是4.1.4.RELEASE

1.项目经常性使用的SpringMVC注解有:@Controller (标识这个类是一个控制类,用于映射外部的HTTP请求,只能作用ElementType.TYPE上)和 @RequestMapping(用于标识匹配方法的路径) 这两个都是MVC基于DispatcherServlet分发HTTP请求的基础。参见

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-introduction

 @RestController注解 = @Controller + @ResponseBody

参见源码:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {

	/**
	 * The value may indicate a suggestion for a logical component name,
	 * to be turned into a Spring bean in case of an autodetected component.
	 * @return the suggested component name, if any
	 * @since 4.0.1
	 */
	String value() default "";

}

 @RequestParam 用于标识请求参数名称(value())及是否需要(required()),它们均有默认值。

 @RequestMapping 可以作用ElementType.METHOD, ElementType.TYPE上。可设置的元素如下所示:

	@ResponseBody
	@RequestMapping(name = "abc" ,
			value = "/abc" , // 映射路径
			method = { RequestMethod.GET , RequestMethod.POST},  //请求方法
			headers = "content-type=text/html, //请求头的文档类型,不能设置编码类型,否则会报错
			params="!myParam", //方法接受的参数中不能存在myParam参数名
			consumes = {"text/html", "application/json"},  //方法接受的数据格式
			produces = "application/json" //方法返回json格式
			)
	public ResultMessageDTO demo1(){
		return ResultCodeUtil.genResult(ReturnCodeEnum.SUCC , new MapData("hello", "springmvc"));
	}

 @RequestBody:主要参见官方文档 :

@RequestBody 
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-ann-requestbody

 指示方法参数应绑定到HTTP请求正文的值。通过使用HttpMessageConverter将请求体转换为method参数。 HttpMessageConverter负责将HTTP请求消息转换为对象,并从对象转换为HTTP响应体。在项目中可以这样配置

	<bean id="mappingJackson2HttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8</value>
				<value>text/json;charset=UTF-8</value>
				<value>application/json;charset=UTF-8</value>
			</list>
		</property>
	</bean>
	<!-- 采用SpringMVC自带的JSON转换工具,支持@ResponseBody注解 -->
	<bean
		class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJackson2HttpMessageConverter" />    <!-- JSON转换器 -->
			</list>
		</property>
	</bean>

 HttpMessageConverter 是一个策略接口,实现此接口的方法使将HTTP请求到响应的一个转换器。

 

2.mybatis批量更新的一种方法:

<update id="updateAA" parameterType="java.util.List">
	<foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">  
                update t_aa   
                <set>  
                  a = #{item.a , jdbcType=VARCHAR} ,
                  m = sysdate ,
                  b = #{item.b , jdbcType=VARCHAR}
                </set>  
                where c = #{item.c ,jdbcType=VARCHAR}  
                and d = #{item.d,jdbcType=VARCHAR}
         </foreach>  
</update

 以上。

 

 

分享到:
评论

相关推荐

    javaWeb项目由spring3、springmvc3、hibernate3升级到spring4最后一个版本需要jar.rar

    传统Javaweb SSH项目由spring3、springmvc3、hibernate3升级到spring4最后一个版本需要的jar包

    javaweb课设基于SpringBoot+SpringMVC+Mybatis实现的手机销售后台管理系统源码.zip

    javaweb课设基于SpringBoot+SpringMVC+Mybatis实现的手机销售后台管理系统源码.zipjavaweb课设基于SpringBoot+SpringMVC+Mybatis实现的手机销售后台管理系统源码.zipjavaweb课设基于SpringBoot+SpringMVC+Mybatis...

    Javaweb+mybatis+Springboot+SpringMVC活动拼团项目

    此项目为本人大二时的期末大作业,使用了Springboot,完成了“拼团--团队活动AA 制”的任务,主要功能: 1、组团 (1)团长创建(组建) 团队并发布活动消息(时间、起点、主要内容等); (2)加入团员(团员申请参加...

    大学生JavaWeb课程设计_基于SpringMVC的农产品后台管理系统

    《大学生JavaWeb课程设计——基于SpringMVC的农产品后台管理系统》 在当今信息化社会,农产品...通过完成此项目,学生不仅能熟悉SpringMVC框架的应用,还能掌握JavaWeb开发的基本流程,为今后的Web开发打下坚实基础。

    javaweb项目高校教务管理系统springMVC+mysql-java课程设计毕业设计期末大作业

    本项目是一个基于Spring MVC框架和MySQL数据库的高校教务管理系统,旨在为在校大学生的Java课程设计和...通过本项目,学习者可以深入了解Spring MVC的架构设计、MySQL数据库的操作以及如何构建一个功能完善的Web应用。

    javaweb应用程序设计(栗菊民编著)课本源代码

    《JavaWeb应用程序设计》是由栗菊民编著的一本深入探讨JavaWeb开发的专业教材,主要针对初学者和有一定基础的学习者。这本书详细介绍了如何利用Java技术来构建Web应用程序,涵盖了从基本概念到高级特性的全面内容。...

    JavaWeb应用与开发郭克华源代码

    JavaWeb应用与开发是Java程序员在构建Web应用程序时必须掌握的核心技术之一。郭克华的书籍深入浅出地讲解了这一领域,通过一系列实例帮助读者理解并熟练掌握相关技能。这个压缩包包含了书中所有示例的源代码,以及...

    JavaWeb讲义:JavaWeb应用简介

    JavaWeb技术是构建互联网应用程序的一种强大工具,它基于Java平台,为开发动态、交互式的Web应用提供了丰富的功能。本讲义将重点介绍JavaWeb的基本概念、核心组件以及常用框架。 一、JavaWeb应用概述 JavaWeb应用是...

    JavaWeb应用与开发教程电子教案

    JavaWeb应用与开发教程电子教案是一本专注于J2EE平台上的Web应用程序开发的资源,它涵盖了jsp、servlet以及web开发的基础知识和技术。这本教材以其丰富的图文并茂的讲解方式,为初学者和有一定经验的开发者提供了...

    javaWEB应用开发讲义

    安装和配置Tomcat是JavaWeb开发的重要步骤之一,确保应用能在服务器上正确运行。 #### 五、JAVASERVLET编程技术 ##### Servlet概述 Servlet是JavaWeb开发的核心技术之一,用于处理客户端的HTTP请求,并生成动态的...

    JavaWeb:JavaWeb工程,包含SpringMVC、SpringBoot等内容

    本项目是一个JavaWeb工程实例,其中包含了SpringMVC和SpringBoot两个核心组件,这两个框架在现代JavaWeb开发中占据了重要地位。 SpringMVC是Spring框架的一个模块,专门用于构建Web应用程序。它的主要功能包括模型-...

    JavaWeb应用开发期末试卷及答案.doc

    JavaWeb应用开发期末试卷及答案.doc

    java8源码-JavaWeb:JavaWeb基础框架(SpringMVC+Mybatis+Mysql+Tomcat)

    SpringMVC+Mybatis+Mysql+Tomcat+Java8+Bootstrap+Angularjs 另一个项目JavaWeb2已经替换了本项目JavaWeb,详见 说明: 一、本项目简介 1.为什么会有这个项目:软件行业从事了几年,之前也正好在为公司搭建一个小小...

    JavaWeb国际化实例

    JavaWeb国际化实例是一...通过这个JavaWeb国际化实例,开发者可以学习如何在SpringMVC环境中实现多语言切换,从而提高Web应用的用户体验,满足全球用户的需求。理解并掌握这些知识点对于提升Web应用开发技能至关重要。

    javaweb常用jar包

    在JavaWeb开发中,常用的框架和技术对于构建高效、可维护的Web应用程序至关重要。这些框架提供了模块化、松耦合的架构,使得开发人员能够更好地管理代码和数据交互。标题"javaweb常用jar包"表明我们将讨论一些核心的...

    ssh集成javaweb项目,用到了注解

    SSH集成在JavaWeb项目中的应用,是开发人员常用的一种技术栈组合,主要涉及Spring、Struts2和Hibernate这三个开源框架。这些框架的结合为开发者提供了强大的后端支持,包括依赖注入、模型-视图-控制器架构以及对象...

    2016年javaWeb学习SSH注解整合例子demo

    SSH(Struts2、Spring、Hibernate)是JavaWeb开发中的经典组合,常用于构建企业级应用。本教程将详细讲解2016年SSH框架整合时使用注解的方式,以提高开发效率并降低配置复杂度。 1. **Struts2**:作为MVC框架,...

    springmvc web开发源码

    SpringMVC 是一款广泛使用的Java Web开发框架,它构建在Spring框架之上,专注于处理HTTP请求和响应,使得开发者能够更方便地构建MVC(Model-View-Controller)架构的应用程序。MyBatis 是一个轻量级的持久层框架,它...

    javaweb开发各种jar包,有spring、springmvc、mybaits等

    标题中的"javaweb开发各种jar包,有spring、springmvc、mybaits等",意味着这个压缩包包含了用于Java Web开发的一些核心框架和库。Java Web开发是构建基于Web的应用程序的过程,它通常涉及使用Java语言,并结合一...

Global site tag (gtag.js) - Google Analytics