随笔 - 229
文章 - 0
评论 - 10
阅读 -
26万
随笔分类 - spring
Spring源码编译以及导入Intellij IDEA的操作步骤
摘要:尝试编译spring源码,搞了好多次,问题也是出了一大堆,今天终于搞好了,现在记录一下操作步骤,以及其中的一些坑。 前言 在github上尝试下了好多次,都不见成功,最后还是选择了码云, 地址: https://gitee.com/mirrors/Spring-Framework spring版本很
阅读全文
WebFlux响应式编程简单示例
摘要:WebFlux介绍 WebFlux是一个异步非阻塞框架 什么是异步非阻塞 同步和异步 针对的是调用者,调用者发出请求,如果等着对方回应之后才去做其它的事情,那就是同步;如果发送请求之后不等着对方回应就去做其它的事情,那就是异步。 阻塞与非阻塞 针对被调用者而言, 如果收到请求之后,做完请求任务之后才
阅读全文
spring cache之redis使用示例
摘要:spring cache默认缓存底层是使用CurrentHashMap, 本示例使用redis作为缓存载体 1. pom.xml依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId
阅读全文
spring bean的生命周期
摘要:springpring初始化bean的3种方式 第一种方式: 使用注解@PostConstruct @PostConstruct public void init() { System.out.println("spring 初始化bean的第1种方式"); } 第二种方式: 实现Initializ
阅读全文
基于springboot实现定时任务的增删改启停
摘要:该功能主要是基于 TaskScheduler 和 CronTask两个类来实现。 直接干代码 1. 创建一个springboot 工程,依赖如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.or
阅读全文
springmvc控制器方法参数解析的那些事儿
摘要:spring mvc是如何对控制器方法里面的参数进行处理的? 还得从@EnableWebMvc这个注解说起。 启动这Mvc容器,自然就会加载WebMvcConfigurationSupport这个配置类,这个类做的事儿太多了,就看如下这段代码 @Bean public RequestMappingH
阅读全文
spring源码学习笔记之BeanDefinition接口
摘要:package org.springframework.beans.factory.config; import org.springframework.beans.BeanMetadataElement; import org.springframework.beans.MutableProper
阅读全文
spring+策略模式
摘要:需求: 这里虚拟一个业务需求,让大家容易理解。假设有一个订单系统,里面的一个功能是根据订单的不同类型作出不同的处理。 1. 常规代码实现 1.1 实体类 import lombok.Data; import java.math.BigDecimal; @Data public class Order
阅读全文
springboot返回统一数据格式及其原理浅析
摘要:大家都知道,前后分离之后,后端响应最好以统一的格式的响应. 譬如: 名称描述 status 状态码,标识请求成功与否,如 [1:成功;-1:失败] errorCode 错误码,给出明确错误码,更好的应对业务异常;请求成功该值可为空 errorMsg 错误消息,与错误码相对应,更具体的描述异常信息 r
阅读全文
Spring在一个事务中开启另一个事务
摘要:spring使用@Transactional开启事务,而且该注解使用propagation属性来指定事务的传播级别 @Transactional(propagation =Propagation.REQUIRES_NEW) // 开启一个新事务 使用REQUIRES_NEW就会开启一个新的事务吗?
阅读全文
springboot2集成pagehelper
摘要:springboot2集成pagehelper超级简单,本示例直接抄袭官方示例,仅将数据库由H2改成MySQL而已。 1、 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/P
阅读全文
spring依赖搜索
摘要:spring项目在启动时,spring框架会根据名称自动搜索实现类. 这在日常开发中还是很有用的。 下面举两个例子。 1. 先写一个接口(或者抽象类) public interface IPersonService { void say(); } 2. 弄两个实现类,并注册到Ioc中 @Compon
阅读全文
项目启动时操作数据库
摘要:对于springboot项目而言,框架提供了多种接口,在项目启动时执行自定义操作。本篇记录项目启动时操作数据库的场景,利用了spring框架帮我们封装好的JdbcDaoSupport接口,操作起来还是很简单的。 application.properties 好, 代码就是如上所示。 项目启动时,就会
阅读全文
Spring框架之接口实现覆盖(接口功能扩展)
摘要:在日常开发中,存在着这种一种场景,框架对接口A提供了一个种默认的实现AImpl,随着需求的变更,现今AImpl不能满足了功能需要,这时,我们该怎么办? 当然是修改AImpl的实现代码了,但是,如果它是第三方依赖呢? 或者说,我们自己写了的某个功能模块,AImpl是我们为此模块提供的一种默认实现,用户
阅读全文
拦截Restful API的三种方式
摘要:如题, 方式有三种。 (1). 过滤器filter javaEE规范 (2). 拦截器interceptor springmvc提供 (3). 切片 aspect 一. Filter使用示例 二. Interceptor使用示例 2.1 自定义一个拦截器 2.2 注册拦截器 三. 切片 四. 总结
阅读全文
接口参数校验之@Valid与BindingResult
摘要:接口方法往往需要对入参做一些校验,从而判断入参是否合格,而javax.validation包为我们提供了一些常用的参数校验注解,使用起来很方便。 下面这个示例是检验入参对象中的password是否为空 1. 创建一个User.java 2. 接口方法 3. 测试代码 4. 测试结果 在测试代码中,
阅读全文
spring事务源码分析
摘要:Spring事务是基于Aop,具体而言是通过一个TransactionInterceptor的拦截器来实现。下面整理一下Spring实现事务操作的具体流程,以便于以后复习。 一.注解EnableTransactionManagement 使用EnableTransactionManagement注解
阅读全文