Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合。以下列举接收Li
线上环境中部署的 Tomcat 项目,出现部分页面无法打开的情况,但本地环境是好的。经过排查发现,本地 Tomcat版本为 7.0.77,而线上版本为 7.0.88。报错的具体描述为java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are
一、事务简单介绍 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。1.1 事务基本要素原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,
此bean对象支持根据cron表达式创建周期性任务。下面介绍一下此bean对象如何实现任务调度,以及如何支持基于cron表达式的任务。一、如何实现任务调度?ThreadPoolTaskScheduler其实底层使用也是java自带的线程池,源码分析如下:1. 有个成员变量: 2. 此成员变量的初始化:3. 着重注意红色框中的方法,代码如下:可以看出,其实也就是初始化了一个指定核心线程数的
下面是我自己的一些代码例子:1.PROPAGATION_REQUIRED 未加事务,两条数据正常插入. 加上事务 两个都回滚 &nb
在使用Spring+mybatis框架时,看到很多人用的pageHelper插件进行分页,如果不用的话,使用spring.data下的@PageableDefault也是可以完成分页功能的。@PageableDefault接口package org.springframework.data.web;import java.lang.annotation.Docu
一、Autowired与Resource基本背景1、两者都是用于bean的注入使用2、@Resource默认按照byName方式进行装配,属于J2EE自带注解,没有指定name时,name指的是变量名 1)如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2) 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year (2)Seconds Minutes Hours DayofMonth Month DayofWeek 一、结构 corn从左到右(用空格隔开)
概述一般SSH的项目都是使用三层架构即Controller、Services、DAO。 Spring 的事务一般都在Services定义,而Controller、DAO都不定义事务。 那么 Services 方法调用 Services 的方法,事务是怎么执行的? 有些人说不建议Service 调用Service,或者如果要Service 调用Service必须使用嵌套事务。真的是这样的吗?带着疑问
在开发过程中发现request对象有提供一个request.getParameterMap()方法可以获取到从前端请求发送的参数Map。但是在使用get()方法通过key(键)去获取这个参数Map中对应的value(值)的时候,发现获取的是对象。Map map =// [Ljava.lang.String;@4665fc21通过打印出来的信息,很容易就发现该对象是一个字符串数组,因此我们就可以知道
@RequestParam用来处理请求头Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)RequestParam可以接受简单类型的属性,也可以接受对象类型。 实质是将Request.
gradle+idea配置阅读Spring源码开发环境(解决jar包下载缓慢问题)阅读源码是学习Spring的最好的方法,但是Spring不是使用maven进行构建,而是使用gradle进行构建的。gradle大家可以理解为和maven一样的东西,整体思想和maven也差不多。很多博客都大概总结了使用gradle和idea编译spring的步骤,在编译中需要下载非常多的jar包,但是由于一些众所周
BeanFactory和ApplicationContext的区别ApplicationContext是BeanFactory的子接口 ApplicationContext提供了更完整的功能: 1、继承了MessageSource,因此支持国际化。 2、统一的资源文件访问方式 3、提供在监听器中注册bean的事件 4、同时加载多个配置文件 5、载入多个(有继承关系)上下文,使得每一个上下
1.简介 2.源码解析 2.1 导入配置的三种类型 2.2 源码解释 3、测试例子 &n
Spring 的事务管理是基于 AOP 实现的,而 AOP 是以方法为单位的。Spring 的事务属性分别为传播行为、隔离级别、只读和超时属性,这些属性提供了事务应用的方法和描述策略。 在 Java EE 开发经常采用的分层模式中,Spring 的事务处理位于业务逻辑层,它提供了针对事务的解决方案。 在 Spring 解压包的 libs 目录中,包含一个名称为 sp
最简单的两种写法,加或不加@RequestParam注解 @RequestMapping("/list") public String test(int userId) { return "list"; } @RequestMapping("/list") public String test(@RequestPar
一、先看一个示例演示:spring注解的一个特殊的注入功能。首先,是定义一个接口,3个实现类。public interfacepublic)public class ChinaGreetServiceImpl implementspublicreturn "你好"; }}@Service("japan")public class JapanGreetServiceImpl implement
学习Spring中的aop组装切面时遇到的execution表达式,下面是execution表达式的详解切入点表达式:execution(* 包名.*.*(..))整个表达式可以分为五个部分:1、execution(): 表达式主体。2、第一个*号:方法返回类型, *号表示所有的类型。3、包名:表示需要拦截的包名。4、第二个*号:表示类名,*号表示所有的类。5、*(..):最后这个星号表示方法名,
${ctx}/vehicleFlow/to_vehflow_detail.do?strJson="+encodeURIComponent(json)
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号