![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
文章平均质量分 58
Arthur-Ji
不要崇拜,不要自卑
不要盲目相信高势能
不要随波逐流
脚踏实地
展开
-
面试还不知道BeanFactory和ApplicationContext的区别?
日拱一兵 2019年07月01日 阅读 2243 关注 面试还不知道BeanFactory和ApplicationContext的区别? 接口 BeanFactory 和 ApplicationContext 都是用来从容器中获取 Spring beans 的,但是,他们二者有很大不同我看到过很多问 BeanFact...转载 2021-04-12 20:33:47 · 161 阅读 · 0 评论 -
一文告诉你Spring是如何利用“三级缓存“巧妙解决Bean的循环依赖问题的【享学Spring】
每篇一句 你今天的优势会被明天的趋势所取代,所以务必好好学理论,一通则百通 前言 循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系): 注意:其实可以N=1,也就是极限情况的循环依赖:自己依赖自己...转载 2021-03-21 21:08:36 · 267 阅读 · 0 评论 -
Spring中BeanFactory与FactoryBean的区别
Spring中BeanFactory与FactoryBean的区别在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混。一、BeanFactoryBeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean()、containsBean()等管理Bean的通用方法。Spring的容器都是它的具体实现如:DefaultListableBeanFactoryXmlBeanFactor转载 2021-03-16 15:01:48 · 190 阅读 · 0 评论 -
BeanPostProcessor和BeanFactoryProcessor浅析
1、简介BeanPostProcessor和BeanFactoryProcessor是Spring中很重要的了两个接口。我们先来看看Spring的文档中对BeanPostProcessor的定义:The BeanPostProcessor interface defines callback methods that you can implement to provide your own (or override the container’s default) instantiation lo转载 2021-02-03 11:49:49 · 550 阅读 · 0 评论 -
Spring中的aware接口
Spring中有很多继承于aware中的接口,这些接口到底是做什么用到的。awre.pngaware,翻译过来是知道的,已感知的,意识到的,所以这些接口从字面意思应该是能感知到所有Aware前面的含义。先举个BeanNameAware的例子,实现BeanNameAware接口,可以让该Bean感知到自身的BeanName(对应Spring容器的BeanId属性)属性,举个例子:BeanNameAware接口的定义public interface BeanNameAware ext转载 2021-02-03 11:37:15 · 208 阅读 · 0 评论 -
响应式Spring的道法术器(Spring WebFlux 教程)
Spring WebFlux 2小时快速入门 Spring 5 之使用Spring WebFlux开发响应式应用。 lambda与函数式(15min)Reactor 3 响应式编程库(60min)Spring Webflux和Spring Data Reactive开发响应式应用(45min) 通过以上内容相信可以对Spring...转载 2021-01-27 15:05:20 · 164 阅读 · 0 评论 -
(5)Spring WebFlux快速上手——响应式Spring的道法术器
本系列其他文章见:《响应式Spring的道法术器》。 前情提要:响应式流 | lambda与函数式 | Reactor快速上手 1.3.3 Spring WebFlux Spring WebFlux是随Spring 5推出的响应式Web框架。 1)服务端技术栈 Spring提供了完整的支持响应式的服务端技术栈。...转载 2021-01-26 13:45:49 · 321 阅读 · 1 评论 -
(4)Reactor 3快速上手——响应式Spring的道法术器
本系列其他文章见:《响应式Spring的道法术器》。 前情提要:响应式流 | lambda与函数式 1.3.2 Reactor Reactor与Spring是兄弟项目,侧重于Server端的响应式编程,主要 artifact 是 reactor-core,这是一个基于 Java 8 的实现了响应式流规范 (Reacti...转载 2021-01-26 10:34:28 · 422 阅读 · 0 评论 -
2)响应式流——响应式Spring的道法术器
本系列其他文章见:《响应式Spring的道法术器》。 前情提要: 什么是响应式编程 1.2 响应式流 上一节留了一个坑——为啥不用Java Stream来进行数据流的操作? 原因在于,若将其用于响应式编程中,是有局限性的。比如如下两个需要面对的问题: Web 应用具有I/O密集的特点,I/O阻塞会带来比较大的性能损失...转载 2021-01-25 14:32:14 · 273 阅读 · 1 评论 -
(1)什么是响应式编程——响应式Spring的道法术器
本系列其他文章见:《响应式Spring的道法术器》。 响应式编程之道 1.1 什么是响应式编程? 在开始讨论响应式编程(Reactive Programming)之前,先来看一个我们经常使用的一款堪称“响应式典范”的强大的生产力工具——电子表格。 举个简单的例子,某电商网站正在搞促销活动,任何单品都可以参加“满199...转载 2021-01-23 21:41:27 · 161 阅读 · 0 评论 -
spring boot 使用@ConfigurationProperties
有时候有这样子的情景,我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了,这时候,我们就可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类 首先在配置文件里面,这些信息是这样子滴 connection.username=adminconnecti...转载 2021-01-22 11:49:09 · 185 阅读 · 1 评论 -
Spring Repository解析---以Mongo Repository为例
摘要 Spring 为java web 开发领域提供了大量的优秀的框架,第三方包,大大解放了生产力,本文主要介绍Spring Repository在连接数据库这边做的一些封装,并以Mongo Repository为例,详细阐述下Repository实现机制,本文基于spring-data-mongo1.10.4 问题 在使用Re...转载 2021-01-21 23:42:41 · 395 阅读 · 0 评论 -
Spring DevTools 介绍
Spring DevTools 介绍 Spring Boot包括一组额外的工具,可以使应用程序开发体验更加愉快。 spring-boot-devtools模块可以包含在任何项目中,它可以节省大量的时间。 想要使用devtools支持,只需将模块依赖关系添加到你的构建中: Maven. <dependencies> ...转载 2021-01-21 21:07:33 · 1064 阅读 · 0 评论 -
mybatis的两种分页方式:RowBounds和PageHelper
1.原理:拦截器。使用方法:RowBounds:在mapper.java中的方法中传入RowBounds对象//接口方法public List<Honor> getHonorList(HashMap<String, Object> maps,RowBounds rowBounds);//调用方法RowBounds rowBounds = new RowBounds(offset, page.getPageSize()); // offset起始行 // li...转载 2021-01-21 17:54:24 · 1768 阅读 · 0 评论 -
PageHelper使用方法
使用方法1. 引入分页插件引入分页插件有下面2种方式,推荐使用 Maven 方式。1). 引入 Jar 包你可以从下面的地址中下载最新版本的 jar 包https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/由于使用了sql 解析工具,你还转载 2021-01-21 17:13:49 · 5403 阅读 · 0 评论 -
解决关于springboot应用启动时,不能加载执行resources文件下的SQL文件
在springboot2.0版本之前,如果把SQL文件直接放在resources文件夹下是可以直接被加载执行,完成数据库的创建和数据的插入,但是要符合相应的规则, 1.建表语句要命名为,schema.sql或者schema-all.sql 2.数插入语句要命名为:data.sql或者data-all.sql 如果你想使用...转载 2021-01-21 13:36:36 · 846 阅读 · 0 评论 -
OAuth 2.0 的四种方式
<!-- div class="asset-body" --> <p><a href="http://www.ruanyifeng.com/blog/2019/04/oauth_design.html" target="_blank">上一篇文章</a>介绍了 OAuth 2.0 是一种授权机制,主要用来颁发令牌(token...转载 2020-12-23 13:50:52 · 331 阅读 · 0 评论 -
Elasticsearch快速入门,掌握这些刚刚好!
记得刚接触Elasticsearch的时候,没找啥资料,直接看了遍Elasticsearch的中文官方文档,中文文档很久没更新了,一直都是2.3的版本。最近又重新看了遍6.0的官方文档,由于官方文档介绍的内容比较多,每次看都很费力,所以这次整理了其中最常用部分,写下了这篇入门教程,希望对大家有所帮助。简介 Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式的全文搜索引擎,基于restful web接口。Elasticsearch是用Java语言开发的,基于Apache协议的开源转载 2020-12-21 11:35:29 · 205 阅读 · 0 评论 -
使用 Spring Cache + Redis 作为缓存
本文介绍如何使用 spring-cache,以及集成 Redis 作为缓存实现。表格过长,推荐读者使用电脑阅读准备工作Redis windows 安装如何配置1. maven完整依赖详见 ==> Gitee<!-- 使用spring cache --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo.转载 2020-12-21 11:08:43 · 205 阅读 · 0 评论 -
拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别
一、引言 本来想记录一下关于用户登陆和登陆之后的权限管理、菜单管理的问题,想到解决这个问题用到Interceptor,但想到了Interceptor,就想到了Filter,于是就想说一下它们的执行顺序和区别。关于Interceptor解决权限和菜单管理的问题,在放在下一篇写吧,就酱...转载 2020-09-22 19:43:08 · 212 阅读 · 0 评论 -
SpringMVC重要注解(二)@ControllerAdvice
@ControllerAdvice,是Spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现: package org.springframework.web.bind.annotation; @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Compo...转载 2020-09-18 16:05:51 · 159 阅读 · 0 评论 -
Spring Data JPA踩坑(@id @GeneratedValue)
最近在做自己的一个项目时 使用了spring jpa 由于数据库用的是mysql 在给实体类entity 的id给注解时@Id遇到了一个坑 自己找了许久才在stackoverflow 上找到了答案 注意 再查询数据库的时候并不会因此报错 而当你的主键是自增的时候 在添加数据的时候就会报错了 看看我们的实体类 注意id ...转载 2020-09-19 15:16:50 · 402 阅读 · 0 评论 -
理解JPA注解@GeneratedValue
一、JPA通用策略生成器通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都...转载 2020-09-19 15:15:03 · 322 阅读 · 0 评论 -
Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用
Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相转载 2020-12-21 09:50:30 · 151 阅读 · 1 评论 -
Spring Security之动态配置资源权限
在Spring Security中实现通过数据库动态配置url资源权限,需要通过配置验证过滤器来实现资源权限的加载、验证。系统启动时,到数据库加载系统资源权限列表,当有请求访问时,通过对比系统资源权限列表和用户资源权限列表(在用户登录时添加到用户信息中)来判断用户是否有该url的访问权限。 在配置验证过滤器时需要的配置项有如下几个:filterSecurityInterceptor:通过继承AbstractSecurityInterceptor并实现Filter接口自定义一个验证过滤...转载 2020-12-20 13:35:56 · 1539 阅读 · 0 评论 -
Spring注解@Resource和@Autowired区别对比
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。2、不同点(1)@Autowired@Autowired为Spring提供的注解,需要导入包org.springframework.beans.factory.ann...转载 2020-10-08 09:29:25 · 342 阅读 · 1 评论 -
Spring @ResponseStatus
@ResponseStatus这个注解确实是个令我头疼的注解. 先记录下@ResponseStatus注解的定义. 记录几个得到的信息:@ResponseStatus声明在方法、类上, Spring3.0开始才有的, 三个属性其中 HttpStatus类型的 value 和 code是一个含义, 默认值就是 服务器 500错误的 HttpStatus. 1|0用法一.标注在@RequestMapping方法上.?0...转载 2020-09-18 16:15:16 · 440 阅读 · 0 评论 -
spring中bean配置和bean注入
1 bean与spring容器的关系Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用。1 bean配置bean配置有三种方法:基于xml配置Bean使用注解定义Bean基于java类提供Bean定义信息1.1 基于xml配置Bean 对于基于...转载 2020-08-24 22:15:01 · 957 阅读 · 0 评论