spring

SpringMVC:前后端传值总结

前言文章主要来自:点这里 。这也是博主的博客,主要分享了自己接触过的一些后端技术,有不对的地方希望可以提出。由于在写代码的时候经常需要前后端进行传值,那么总结下前端是如何给后端传值,以及后端是如何接收的。以下包括:@PathVarible,@PathParam,@RequestParam,@ RequestBody,@RequestHeader 以及 Spring 自动封装

2016年度最受欢迎的100个 Java 库

【编者按】本文作者为 Henn Idan,主要介绍基于 GitHub 中的数据分析,得出的2016年度最受欢迎的100个 Java 库。本文系国内 ITOM 管理平台 OneAPM 编译呈现。谁拔得头筹?谁又落于人后?我们分析了 GitHub 中 47,251 条依赖关系,得出最受欢迎的100个 Java 库。漫长的周末里,我们最喜欢的消遣方式是遍历 GitHub,找出最受

利用ngin反向代理来避免aja跨域请求

在慕课网上看了高并发的课程,准备用spring+Mybaits来开发新的项目。遇到了前端跨域请求的问题。服务器上nginx+tomcat,其中nginx监听80端口,tomcat监听8080端口。因为对前端不熟悉,以为用ajax就可以不需要callback,然而前端的同学说不跨域的情况下才不需要callback,让我在返回的json里加上。可是我刚刚学会了最基本的sprin

[译]Spring入门 - Web应用程序安全

原网页 https://spring.io/guides/gs/securing-web/本指南将引导您完成创建一个资源由Spring Security的保护的一个简单的Web应用程序的过程。你将构建你将构建一个通过固定的用户列表作为后端的登录表单来保护页面安全的Spring MVC应用程序你将需要大约15分钟一个喜欢的文本编辑器或IDEJDK 1.8 或更高版本Gradl

XA 分布式事务研究

在开始讲解XA事务前,先引出一个例子来讲解这样比较容易理解XA事务。比如有一笔交易,在交易完成后,接受到到交易成功信息和扣款成功信息,代码如下:public void savePayOrder(PayOrder payOrder) throws Exception { try { ...//交易前预备逻辑 PayOrderRes

市长信箱邮件查询服务: 使用WebSocket实现增量抓取进度进度条的展示

使用WebSocket实现增量抓取进度进度条的展示自从上次全量抓取完所有市长信箱的所有邮件后, 过去了一个多星期,期间又有了很多新的信件产生. 如何抓取这些新邮件呢? 需要开发一个增量抓取的功能才能解决更新邮件的问题.我这次把增量抓取的按钮放到页面上,取名为"同步所有邮件".并在开始抓取后,页面上展示出当前增量抓取的进度.增量抓取的时间往往会超过10分钟,一般从页面获取当前

SpringMVC工作原理

SpringMVC的入口是DispatchServlet,它的工作大致可以分为两个部分,一个是初始化,另外一个是请求处理。下面我们对它的工作原理做简单分析。1. 类继承关系2. 初始化HttpServletBean重写了GenericServlet的init()方法,它是整个初始化的入口。首先,会读取配置在ServletContext中的bean属性参数,这些属性参数设置在

像@Transactional一样利用注解自定义aop切片

像@Transactional一样利用注解自定义aop切片在spring中,利用@Transactional注解可以很轻松的利用aop技术进行事物管理。在实际项目中,直接利用自定义注解实现切片可以大大的提高我们的编码效率以及代码的简洁性。实现以上的目标,主要涉及两方面工作。自定义注解将注解声明为切片自定义注解介绍注解自定义的文章比较多,这里简要介绍一下以下面的代码为例。该代

springboot-data-jpa默认数据库连接池

默认是tomcat-jdbc连接池Spring Boot学习笔记-SQL数据库使用spring.datasource.url=jdbc:mysql://localhost:3306/demo spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-cla

spring单元测试异常回滚的简单总结

Spring 单元测试回滚总结目的方法 @Transactional public void insertFooAndThrowException(){ // 先插入 然后抛出异常 mapper.insertFoo(RandomStringUtils.randomAlphanumeric(20)); throw new