springmvc
文章平均质量分 82
安安静静写bug
记录笔记
展开
-
支持请求类型为application/x-www-form-urlencoded的对象参数注入
背景:入职新公司后,最近在工作中开发业务代码时,发现controller层中的方法参数不能是自定义的对象形式,只能是一个一个的单个属性方法,对象只能是PageRequest与 FallsPageRequest类型的对象,所以,如果方法入参需要添加新字段,就需要在controller层方法中添加字段,这个字段很可能service层也需要使用,那么也还要修改service层的接口与实现类,如果这个service接口有许多实现类,你都要一个一个在方法中增加新字段,这样其实改造复杂度较高;如果是一个rpc的.原创 2021-09-19 10:10:17 · 2825 阅读 · 2 评论 -
传统tomcat启动服务与springboot启动内置tomcat服务的区别
spring整合springmvcspring整合springmvc中web.xml配置如下,tomcat在启动过程中会加载web.xml中的内容,ContextLoaderListener实现了tomcat里面的ServletContextListener接口,所以在tomcat容器启动过程通过ContextLoaderListener来进行spring容器的初始化操作,并将classpath:spring/applicationContext-*.xml指定下的spring配置文件加载,该配置文件原创 2021-05-04 19:41:47 · 2435 阅读 · 13 评论 -
SpringBoot环境下junit单元测试速度优化
1、提高单元测试效率背景:在项目提测前,自己需要对代码逻辑进行验证,所以单元测试必不可少。但是现在的java项目几乎都是基于SpringBoot系列开发的,所以在进行单元测试时,执行一个测试类就要启动springboot项目,加载上下文数据,每次执行一次测试都要再重新加载上下文环境,这样就会很麻烦,浪费时间;在一次项目中,我们使用自己的技术框架进行开发,每次单元测试时都要初始化很多数据(例如根据数据模型建立表,加载依赖其它模块的类),这样导致每一次单元测试时都会花3-5分钟时间(MacOs 四核I原创 2021-03-14 10:36:40 · 8356 阅读 · 10 评论 -
重写RequestMapping
1、为什么要自定义在项目开发中,有一次一个需求涉及到修改几个方法,需要在这几个方法中添加自己的业务逻辑,这几个方法是标有@RequestMapping注解的方法,而且这几个方法在封装好的底层jar包中,那么如何修改呢?思路:1、首先想到的是通过重新在controller层自定义一个url,然后对底层的对应方法进行一个重写操作,这样是可以解决问题,但是如果这样修改,前端接入的url也要配合修改,这样就增加了一定工作量,当后续修改更多这样的底层url后,对接也会变得复杂,所以该方案可行,但是不够优雅;2、原创 2020-12-06 17:52:47 · 1613 阅读 · 3 评论 -
手写springMVC(附源码)
1、springMVC简单介绍在手写springMVC前,需要大概了解下springMVC,springMVC其实是spring的一个子容器,可以专门用来处理web层的请求,而MVC则是model(模型)、view(视图)、controller(控制器)的简称,springMVC主要由以下几个部分组成:1、前端控制器 DispatcherServlet2、处理器映射 HandlerMapping3、视图解析器进行解析简单通过下图理解下,其实最重要的就是前端控制器,它负责是请求入口与出口的一道闸门,原创 2020-11-07 20:30:27 · 297 阅读 · 0 评论