
spring
文章平均质量分 75
三七有脾气
我是“三七有脾气”,一个在互联网“苟且偷生”的程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring使用三级缓存解决循环依赖?终于完全弄明白了
面试向,看完这篇文章,就再也不怕面试时回答三级缓存的问题支支吾吾了。巧妙结合了源码进行讲述,阅读门槛低,可以更加形象的理解整个Spring利用三级缓存解决循环依赖的过程和原理原创 2023-02-08 15:11:59 · 9104 阅读 · 6 评论 -
Java实现---动态修改定时任务的执行时间
针对产品经理提出的,可以在页面配置定时任务的执行时间,有了解决方案,虽然不算完美原创 2022-09-30 17:12:01 · 4744 阅读 · 6 评论 -
Spring源码之Spring的大体框架
Spring源码(一)----了解Spring的大体框架Spring的源码数量特别多,在我下载了Spring FrameWork源码后,发现有些无从学起,那么就一步一步来,先不管其他,先了解一下Spring的大体框架:Spring源码框架如下:首先我们要知道,Spring框架的核心是什么,虽然AOP和IOC是Spring框架最出名的地方,但是对框架来说,Spring最核心的还是:Beans、Core、Context、Expression四大模块,如Spring-aop、Spring-web之类的,原创 2022-04-24 10:58:42 · 1200 阅读 · 1 评论 -
Spring boot启动源码之run方法
Spring boot启动源码之run方法前言我们知道,Spring boot其实功能上,和Spring是一样的,只不过Spring boot更加方便开发,所以Spring boot的启动源码,本质上是和Spring一样的,只不过相比较于Spring的启动关键方法refresh(),只是对refresh()进行了一些封装,以及一些前置处理,后置处理。1、run方法的大致流程概述2、run方法源码public ConfigurableApplicationContext run(Strin.原创 2022-04-22 16:55:54 · 2982 阅读 · 1 评论 -
Spring boot启动源码之SpringApplication构造器
Spring启动源码之SpringApplication构造器Spring boot项目的启动类中的main方法如下:public static void main(String[] args) { SpringApplication.run(SspWebApplication.class, args); }ctrl + 鼠标左键点击查看run方法:public static ConfigurableApplicationContext run(Class<?&g.原创 2022-04-18 14:56:26 · 721 阅读 · 1 评论 -
Spring源码之AbstractApplicationContext解析(refresh)
Spring源码之AbstractApplicationContext解析Spring的IOC核心流程解析,了解Spring生命周期,了解refresh方法原创 2022-03-25 17:18:58 · 1644 阅读 · 4 评论 -
Jfinal框架写了getter、setter方法后,还是无法获取到自定义属性的问题(已解决)
在Jfianl框架中,前端默认是只能够获取到数据库中的字段的,而我们在实体类中额外添加的的字段,就算是写了getter,setter方法,在后端debug可以看到数据,但是传到前端后,却仍旧只能够看到返回了数据库中定义的字段。这对于习惯了Spring系列框架的开发者来说,是完全无法理解的。这也是这个框架没落的原因之一吧。想要前端能够看到我们自定义的属性,需要在自定义字段所在的实体类中重写_getAttrs方法,如下:@Overrideprotected Map<String, Object&g原创 2021-08-04 11:47:28 · 512 阅读 · 2 评论 -
springboot中,实现Filter接口后,接口请求的执行流程解析
今天没事就熟悉一下项目中业务之外的代码,发现了鉴权相关的代码还不太了解,于是开始研究起来,比较乱,想到哪就写到哪鉴权的话,一般是通过拦截器Filter来实现拦截请求,进行相应的逻辑判断,判断用户是否拥有该资源的访问权限,或者进行其他一些权限拦截,编码拦截等。如下,是我现在项目中的鉴权入口:看图中:第一点:任意一个类,实现Filter接口,都可以实现拦截器的功能第二点:@SneakyThrows注解是lombok对异常的封装注解,在方法上面加上该注解,对于必须要try{} catch{}的代.原创 2021-06-24 18:21:35 · 2082 阅读 · 2 评论 -
SpringBoot使用AOP原理,实现记录操作日志功能
这也是我对Spring的AOP的第一次实际应用,以前都是背概念,没有实际使用过,现在用起来还挺好用的1、定义一个日志注解/** * 操作记录注解 * * @author yuanchangliang * @version V1.0 * @since 2021-06-07 09:24 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface SysLog .原创 2021-06-10 11:00:20 · 818 阅读 · 0 评论 -
还在使用BeanUtils.copyProperties()? 来看看MapStruct,强大五倍
简介MapStruct是满足JSR269规范的一个Java注解处理器,用于为Java Bean生成类型安全且高性能的映射。它基于编译阶段生成get/set代码,此实现过程中没有反射,不会造成额外的性能损失。您所要做的就是定义一个mapper接口(@Mapper),该接口用于声明所有必须的映射方法。在编译期间MapStruct会为该接口自动生成实现类。该实现类使用简单的Java方法调用来映射source-target对象,在此过程中没有反射或类似的行为发生。性能我们常用的实体类转换的方法是使用:Be原创 2021-05-06 10:07:56 · 1288 阅读 · 1 评论 -
如何使用实体类接收get请求的请求参数
如何使用实体类接收get请求的请求参数有的时候,get请求也是会带有特别多的参数的,可能4,5个,或者7,8个都有可能。这个时候,再在controller层一个一个地接收就会显得特别的笨重了。就比如一个get方法,如果一个一个接收:@GetMapping("/getName")public List<String> getName(@RequestParam("query1") String query1, @RequestPa原创 2020-11-02 09:36:41 · 15598 阅读 · 5 评论 -
Spring Data JPA的基本注解详解
最近在新公司熟悉一个物联网项目,项目中涉及到了Spring DataJPA相关的知识,而我对其一无所知,所以的话,现在就来学习一些基础的jpa的知识吧,这里主要介绍一下JPA中的主要注解。@Entity标识这个实体类是一个JPA实体,告诉JPA在程序运行的时候记得生成这个实体类所对应的表~!@Table(name = “自定义的表名”)自定义设置这个实体类在数据库所对应的表名!@Id把这个类里面所在的变量设置为主键Id。@GeneratedValue设置主键的生成策略,这种方式依赖于具.转载 2020-10-19 11:24:53 · 782 阅读 · 0 评论 -
Model和ModelAndView的区别,以及使用详解
1.前言最近SSM框架开发web项目,用得比较火热。spring-MVC肯定用过,在请求处理方法可出现和返回的参数类型中,最重要就是Model和ModelAndView了,对于MVC框架,控制器Controller执行业务逻辑,用于产生模型数据Model,而视图View用于渲染模型数据。 使用Model和ModelAndView这...转载 2020-08-23 08:05:18 · 7715 阅读 · 0 评论 -
Spring AOP中的JDK和CGLib动态代理哪个效率更高?
转自知乎大佬文章:https://zhuanlan.zhihu.com/p/67041662一、背景今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高?二、基本概念首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方。JDK动态代理主要涉及java.lang.reflec转载 2020-08-14 08:13:34 · 296 阅读 · 0 评论 -
Java动态代理(原创)
Java动态代理在学习Spring的时候,对于书上经常讲的动态代理就是一知半解的,学习Spring框架的时候也是囫囵吞枣的接下来让我来整理一下动态代理的学习思路首先,什么是动态代理: 照我的理解就是; A想要调用B,但是它不直接调用B,它利用反射的机制创建了一个C,然后让C调用B,在C这个类调用B之前和之后呢,可以分别实现一些登录验证,打印日志之类的操作,然后再让A调用C,这个时候A即调用了B,且A和B的耦合度还降低了,还实现了更多的功能,简直一举两得,好处多多. 代理类在程序运行时创建的代理方式原创 2020-08-02 17:02:39 · 199 阅读 · 0 评论 -
Spring的五种事务隔离级别,和七种传播行为详细解读(转)
Spring的五种事务隔离级别,和七种传播行为详细解读来源:https://yq.aliyun.com/articles/48893说到事务的隔离级别,我就先在这里介绍一下事务可能发生的一些--------咳。。。写到这里突然看见一篇很全的博客,感觉写的超级优秀,比我自己知道的更多,我这就不班门弄虎了,看原文吧原文链接:https://yq.aliyun.com/articles/48893Spring的五种事务隔离级别,和七种传播行为详细解读脏读 :脏读就是指当一个事务正在访问数据,并且对数据转载 2020-08-02 16:51:42 · 1409 阅读 · 0 评论 -
简单理解Spring的七大模块
Spring的七大模块Spring的七大模块看了其他博客,都是逼逼叨叨的,不适合我这个新手,我这篇博客简洁易懂,下面来分别介绍核心容器(Spring Core)核心容器提供Spring框架的基本功能。Spring以bean的方式组织和管理Java应用中的各个组件及其关系。Spring使用BeanFactory来产生和管理Bean,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用的配置和依赖性规范与实际的应用程序代码分开。应用上下文(Spring Context)Spr原创 2020-08-02 16:43:21 · 361 阅读 · 1 评论