![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
文章平均质量分 82
aa
云川之下
这个作者很懒,什么都没留下…
展开
-
ThreadLocal在spring事务的应用
threadlocal转载 2022-10-14 16:32:15 · 1515 阅读 · 0 评论 -
Spring Security、oauth2、单点登陆SSO的关系
概述网上有很多Spring Security和 oauth2的介绍,但是对于初学者来说,上手比较复杂,本篇从原理上梳理一下两者之间的联系和区别1. 什么是Spring Security参见 【Spring Security】基本功能介绍spring security 的核心功能主要包括:认证 (你是谁) 通过注解 @EnableWebSecurity开启简单来说,就是需要登录,你需要输入用户名和密码,才能访问某个url。授权 (你能干什么) 不需要通过指定的开关开启,而是通原创 2022-03-28 16:57:49 · 11258 阅读 · 7 评论 -
spring security 自定义登录页面(loginPage和loginProcessingUrl) + 关闭csrf token
1. 自定义登录页面2. 如何在自定义页面增加token参考spring security 入门教程 自定义登录页面原创 2022-03-24 23:46:53 · 3949 阅读 · 0 评论 -
Spring Security默认登录页面原理
注意:idea需要导入相应包源码之后才能搜到generateLoginPageHtml方法参考Spring Security默认登录页面原创 2022-03-24 23:38:32 · 1069 阅读 · 0 评论 -
【Spring Security】基本功能介绍
@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired VerifyCodeFilter verifyCodeFilter; @Override protected void configure(HttpSecurity http) throws Exception { http.addFilterBefore(verifyCode原创 2022-03-24 14:25:42 · 5435 阅读 · 0 评论 -
Spring异常处理@ExceptionHandler
文章目录为什么需要对异常进行处理?方法一 @ExceptionHandler方法二 @ControllerAdvice+@ExceptionHandler为什么需要对异常进行处理?假如SpringMvc我们不对异常进行任何处理, 界面上显示的是这样的,假设进行除计算,除数是0会报错.:方法一 @ExceptionHandler当一个Controller中有方法加了@ExceptionHandler之后,这个Controller其他方法中没有捕获的异常就会以参数的形式传入加了@ExceptionHa原创 2022-03-08 19:23:59 · 2293 阅读 · 1 评论 -
【springmvc框架】详解WebMvcConfigurer接口(Interceptor拦截器、ResourceHandler、Formatter、CorsMapping)
SpringBoot 确实为我们做了很多事情, 但有时候我们想要自己定义一些Handler,Interceptor,ViewResolver,MessageConverter,该怎么做呢。在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器,消息转换器等。SpringBoot 2.0 后,该类被标记为@Deprecated。因此我们只能靠实现WebMvcConfigurer接口来实现。接下来让我们来看看这个接口类吧!(列举下常用的方法供参考)转载 2022-03-08 15:29:59 · 879 阅读 · 0 评论 -
【springboot 】web.xml去哪了 1 (SpringServletContainerInitializer接口、WebApplicationInitializer接口)
文章目录前言1:web.xml是怎么没的?1.1:Servlet3.0之前1.2:Servlet3.02. 项目实战3. springMVC如何集成servlet3.03.1 WebApplicationInitializer接口源码3.2 WebApplicationInitializer接口实战4. springboot如何集成spring MVC4.1:通过servlet3注解+@ServletComponentScan参考相关文章:Spring MVC的web.xml配置详解(ContextLo原创 2022-02-10 10:20:57 · 884 阅读 · 0 评论 -
spring容器和springmvc容器,以及web容器(tomcat是具体的一种实现)的关系
文章目录spring容器和springmvc容器web容器参考spring容器和springmvc容器说到spring和springmvc,其实有很多工作好多年的人也分不清他们有什么区别,如果你问他项目里用的什么MVC技术,他会说我们用的spring和mybatis,或者spring和hibernate。在潜意识里会认为springmvc就是spring,之前我也是这么认为的,哈哈。虽然springMVC和spring有必然的联系,但是他们的区别也是有的。下面我就简单描述下首先 springmvc原创 2022-02-09 16:07:05 · 1200 阅读 · 0 评论 -
【IDEA】IDEA 调试jar文件、springboot 的jar文件
文章目录前言1. 调试jar1.1 方式一1.2 方式二:通过JAR Aplication调试2. 调试springboot 的jar文件参考相关文章:【IDEA】springboot项目打包成jar【IDEA】IDEA 调试jar文件前言1. 调试jar1.1 方式一参见原文1.2 方式二:通过JAR Aplication调试这种也是编译打包到libs文件夹里面,和上面一样配置好jar输出目录,然后打包:然后配置JAR Aplication调试信息:2. 调试springboo原创 2022-02-07 17:45:04 · 1345 阅读 · 0 评论 -
【spring 】spring aop 入口
前言执行后置处理器,包含aop相关的处理器是其中的一种,位于初始化方法中,参见下图:循环依赖中的前置原创 2022-01-27 16:39:53 · 533 阅读 · 0 评论 -
【spring源码 4.3.7】MergedBeanDefinitionPostProcessor和@Autowired,@Value的关系
相关文章:Spring源码系列之容器启动流程 建议先阅读这篇文章系列文章:【spring源码】01.Spring源码整体脉络介绍及源码编译–spring笔记【spring源码】02.Ioc容器加载过程-Bean的生命周期源码深度剖析–spring笔记【spring源码】Spring IoC源码学习:invokeBeanFactoryPostProcessors 详解【spring源码 4.3.7】Spring IoC源码学习:registerBeanPostProcessors() 详解【sp原创 2022-01-25 16:08:29 · 464 阅读 · 0 评论 -
【spring 4.3.7】Spring pom.xml配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion&原创 2022-01-22 00:30:12 · 249 阅读 · 0 评论 -
@Import注解的作用
1.简介在平时看源码或者很多配置类上面都会出现@Import注解,功能就是和Spring XML 里面 的 一样. @Import注解是用来导入配置类或者一些需要前置加载的类.注意:这里的加载是指注入容器内,而不是普通java 被虚拟机加载概念2. 导入配置的三种类型@Import支持 三种方式1.带有@Configuration的配置类(4.2 版本之前只可以导入配置类,4.2版本之后 也可以导入 普通类)2.ImportSelector 的实现3.ImportBeanDefinitionR转载 2022-01-19 14:51:24 · 2210 阅读 · 3 评论 -
Spring Boot 配置优先级顺序
文章目录概述Devtools全局配置@TestPropertySource注解@SpringBootTest的properties属性命令行参数SPRING_APPLICATION_JSONServletConfig、ServletContext随机数配置自定义配置文件(application-dev.properties形式)application.properties@PropertySource 优先级最低参考概述一般在一个项目中,总是会有好多个环境。比如:开发环境 -> 测试环境 -&g原创 2022-01-17 19:15:02 · 1488 阅读 · 0 评论 -
Spring中ApplicationListener的使用
文章目录背景spring内置事件ApplicationListener源码ContextRefreshedEvent事件的监听自定义事件及监听,以发送邮件为例参考背景ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件处理;如果容器中存在ApplicationListener的Bean,当ApplicationContext调用publishEvent方转载 2022-01-13 15:05:16 · 1243 阅读 · 0 评论 -
@Autowired @ Resource @Required @Component、@Controller、@Service
要运用注解,需要注册相应的BeanPostProcessor后置处理器,因此汇总下:@Autowired注解,那么就必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。传统声明方式如下<bean class="org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor "/> @ Resource 、@原创 2021-09-11 23:18:19 · 161 阅读 · 0 评论 -
Spring MVC的web.xml配置详解(ContextLoaderListener创建容器监听器、DispatcherServlet)
文章目录参考1、spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name)2、在web.xml配置监听器ContextLoaderListener(listener-class)ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法转载 2021-09-10 11:03:57 · 2959 阅读 · 0 评论 -
Springboot之application.properties的使用
文章目录1. 概述参考1. 概述SpringBoot中免除了大部分手动配置,但是对于一些特定的情况,还是需要我们进行手动配置的,SpringBoot为我们提供了application.properties配置文件,让我们可以进行自定义配置,来对默认的配置进行修改,以适应具体的生产情况,当然还包括一些第三方的配置。几乎所有配置都可以写到application.peroperties文件中,这个文件会被SpringBoot自动加载,免去了我们手动加载的烦恼。但实际上,很多时候我们却会自定义配置文件,这些文原创 2021-08-18 15:07:55 · 3483 阅读 · 0 评论 -
【spring】spring 的事务(transaction) 四 嵌套事务PROPAGATION_NESTED
文章目录1. 什么是嵌套事务PROPAGATION_NESTED2. PROPAGATION_NESTED 与PROPAGATION_REQUIRES_NEW的区别2.1 验证PROPAGATION_REQUIRES_NEW内层事务执行完就立即提交2.2 验证PROPAGATION_NESTED 内层事务执行完未立即提交2.3 验证PROPAGATION_NESTED 内层事务回滚相关文章spring 的事务(transaction) 一 基础概念介绍spring 的事务(transaction) 二原创 2021-08-08 21:26:39 · 11803 阅读 · 2 评论 -
【spring】spring 的事务(transaction) 三 try catch对事务的影响
文章目录1. 非异常用例1.1 创建工程1.2 执行2. 内层抛出非check异常,外层进行捕获3. 内层抛出非check异常,外层不进行捕获1. 非异常用例我们开始一个经典的嵌套用例。1.1 创建工程我们先创建一个spring的工程,利用spring 单元测试架构,来写用例工程的创建参见 用SpringBoot创建mysql工程,后续以该工程为基础改造用例。数据库脚本,新增一个:CREATE TABLE `order` ( `id` INT(11) NOT NULL, `price`原创 2021-08-08 17:28:46 · 6048 阅读 · 6 评论 -
【spring】spring 的事务(transaction) 二 陷阱
文章目录原创 2021-08-08 14:26:13 · 536 阅读 · 0 评论 -
【SpringBoot】 用SpringBoot创建mysql工程
文章目录1. 创建mysql的工程2. 运行关联文章:《linux下mysql的安装与使用》《用SpringBoot创建mysql工程》【mysql】 入门例子 里面有建表语句和预置的数据1. 创建mysql的工程官网 https://start.spring.io/整体工程架构:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0原创 2021-08-06 23:14:27 · 508 阅读 · 1 评论 -
【springboot】使用@SpringBootTest注解进行单元测试
文章目录概述参考概述spring 原生语法参见 @RunWith的使用(单元测试)@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test&原创 2021-08-06 22:40:39 · 3558 阅读 · 0 评论 -
【spring】@RunWith的使用(单元测试)
文章目录@RunWith作用@RunWith(SpringJunit4ClassRunner.class) 使用说明参考@RunWith作用这是spring的原生语法@RunWith 就是一个运行器:@RunWith(JUnit4.class) 就是指用JUnit4来运行@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境此时需要搭配@ContextConfiguration 使用,Spring整合JUnit4测试时,使用注原创 2021-08-06 22:33:01 · 3879 阅读 · 0 评论 -
【spring 】spring 的事务(transaction、事务的传播属性、隔离级别) 一 基础概念介绍
aaa原创 2021-08-06 16:09:42 · 816 阅读 · 0 评论 -
【spring】基于注解的spring mvc入门例子
文章目录1. 前言2. 配置2.1 配置maven2.2 web.xml2.3 springmvc.xml2.4 HelloController2.5 index.jsp2.6 success.jsp3. 运行4. 引入ContextLoaderListener4.1 新增HelloService.java和applicationContext.xml4.2 修改HelloController,注入HelloService4.3 修改web.xml4.4 执行1. 前言基于xml的配置,请参见《11.S原创 2021-04-27 21:38:13 · 137 阅读 · 0 评论 -
【springmvc】<mvc:default-servlet-handler/>、<mvc:resources />的作用
文章目录1. 概述方法1.采用方法2.采用1. 概述优雅REST风格的资源URL不希望带 .html 或 .do 等后缀,由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do 、 *.xhtml等方式。这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL。如果将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请原创 2021-04-27 14:12:40 · 320 阅读 · 0 评论 -
【SpringBoot】扩展机制之Spring Factories(例如EnableAutoConfiguration接口、spring.factories文件)
https://blog.csdn.net/lvoyee/article/details/82017057转载 2021-04-19 19:19:46 · 1094 阅读 · 0 评论 -
【SpringBoot】启动原理源码剖析(含加载spring.factories扩展点)
文章目录1. 概念&原理2 源码2.1 SpringBoot 事件监听器发布顺序2.2 详细步骤2.2.1 调用SpringApplication.run启动springboot应用2.2.2 使用自定义SpringApplication进行启动2.2.2.1 创建SpringApplication2.2.2.1 启动2.2.2.1.1 [3]去spring.factroies中读取了SpringApplicationRunListener 的组件2.2.2.1.2 [4] 预初始化环境2.2.2原创 2021-04-19 16:28:39 · 710 阅读 · 0 评论 -
【SpringBoot、maven】 创建一个springboot工程入门例子 helloworld(以springmvc为例,从官网创建工程)
《官方入口》原创 2021-04-19 10:12:07 · 172 阅读 · 0 评论 -
【微服务专题】01-Spring Boot自动装配核心源码剖析 2 自动配置原理 2 HttpEncodingAutoConfiguration详解
文章目录1. HttpEncodingAutoConfiguration源码1.1 @Conditional派生注解1. HttpEncodingAutoConfiguration源码@Configuration(proxyBeanMethods = false)@EnableConfigurationProperties(ServerProperties.class)@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Ty原创 2021-04-17 17:15:33 · 220 阅读 · 0 评论 -
【Spring】注解(RetentionPolicy.RUNTIME)
文章目录注解按生命周期来划分可分为3类:1、RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;3、RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;这3个生命周期分别对应于:Java源文件(.java文件) —> .cl原创 2021-04-15 22:05:43 · 616 阅读 · 0 评论 -
【spring】@AliasFor 使用规则
文章目录1. @AliasFor2. 作用2.1 AliasFor可以定义一个注解中的两个属性互为别名2.2 跨注解的属性别名3. @SpringBootApplication1. @AliasFor@AliasFor是一个注解,用于为注解属性声明别名。代码如下:它有两个属性value和attribute @AliasFor注解注释了自身,并且value和attribute互为别名:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.ME转载 2021-04-14 19:39:45 · 798 阅读 · 0 评论 -
【spring】静态代理模式和JDK、CGLIB动态代理
参考:《静态代理模式和JDK、CGLIB动态代理》转载 2021-03-26 14:00:03 · 342 阅读 · 0 评论 -
【spring注解】context:annotation-config和context:component-scan区别
文章目录1. @Autowired注解原理1.1 @Autowired不生效演示1.2 @Autowired生效演示1.3 总结2. context:annotation-config2.1 存在的不足3. context:component-scan4.总结4.1 如果同时使用这两个配置会不会出现重复注入的情况呢?Spring 中在使用注解(Annotation)会涉及到< context:annotation-config> 和 < context:component-scan>原创 2021-03-25 17:09:10 · 1575 阅读 · 0 评论 -
【spring】Spring中有几种配置方式(xml、注解<jsr250>、JavaConfig)
文章目录概述1. 如何用XML配置Spring2. 怎样用注解的方式配置 Spring?3. 基于JavaConfig的配置概述将 Spring 配置到应用开发中有以下三种方式:基于xml配置:通常一开头基于注解配置:@Controller @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cacheable @CacheFlush @Resource @PostConstruct @PreDestroy @Rep原创 2021-03-25 19:47:20 · 1214 阅读 · 0 评论 -
【spring 】spring aop 代理之ProxyFactoryBean
文章目录1. 样例2. Spring Aop2.1 Spring 通知类型2.2 声明式 Spring AOP3. ProxyFactoryBean3.1 原理1. 样例业务接口ISubject.java:package com.test.springaop;public interface ISubject { void request();}业务类 SubjectImpl.java:package com.test.springaop;public class Subjec原创 2021-03-25 23:06:52 · 1295 阅读 · 0 评论 -
【spring】面试必问
参考:[《面试必问的 Spring,你懂了吗?》](https://blog.csdn.net/v123411739/article/details/110009966)转载 2021-03-24 18:43:43 · 453 阅读 · 0 评论 -
【spring源码 4.3.7】Spring IoC源码学习:AbstractAutowireCapableBeanFactory.initializeBean() 初始化生命周期
详情参见《Spring IoC源码学习:BeanFactory.getBean() 详解》<2.1.1.3 initializeBean()>章节初始化bean,正好是生命周期的逻辑:Spring Bean的生命周期完整步骤如下,步骤2对应<2.1.1.2 populateBean()>章节,步骤3-9对应<2.1.1.3 initializeBean()>章节:实例化Bean对象,这个时候Bean的对象是非常低级的,基本不能够被我们使用,因为连最基本的属.原创 2021-03-19 20:25:18 · 274 阅读 · 0 评论