目录1、SpringSecurity 本质是一个过滤器链2、SpringSecurity 流程图流程说明3、Security 配置配置类伪代码配置简介4、Security 权限系统5、Security 扩展 6、总结1、SpringSecurity 本质是一个过滤器链SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链。现 ......
325
0
0
2023-05-22
目录1、@Configuration注解2、@Bean注解3、@Import注解3.1、导入标记有@Configuration的配置类3.2、导入ImportSelector的实现类3.3、导入ImportBeanDefinitionRegistrar的实现类3.4、导入普通的类4、@ImportResource注解5、@ComponentScan注解6、使 ......
249
0
0
2023-05-18
spring提供了两种方式用于实现对象销毁时去执行操作1.实现DisposableBean接口的destroy2.在bean类的方法上增加@PreDestroy方法,那么这个方法会在DisposableBean.destory方法前触发3.实现SmartLifecycle接口的stop方法package com.wyf.service; import ......
273
0
0
2023-05-18
目录前言1、refresh()简介2、关键代码跟踪2.1、obtainFreshBeanFactory()代码分析2.2、invokeBeanFactoryPostProcessors(beanFactory)代码分析2.3、registerBeanPostProcessors(beanFactory)代码分析2.4、registerListeners(); ......
230
0
0
2023-05-18
目录前言1、关键接口和类1.1、关键类之 DefaultListableBeanFactory1.2、关键类之XmlBeanDefinitionReader1.3、关键类之ClassPathXmlApplicationContext2、spring初始化过程中对外暴露的扩展接口3、扩展点的启动顺序总结前言spring的IOC容器初始化流程很复杂,本文只关注流 ......
225
0
0
2023-05-18
目录一、deleteById 和 deletedeleteById(Id id)(通过id进行删除)delete(T entity)(通过实体对象进行删除)实例service 层control层二、deleteAllById 和 deleteAll1、deleteAllById(Iterable<? extends ID> ids)(通过id进行 ......
393
0
0
2023-05-16
目录前言一、单条件查询1、精确查询(确定值,例如:=、is)2、范围查询(一定范围,例如<、<=、>、>=、in、between)a)运算符b)betweenc)in3、模糊查询a)findByNameLikeb)findByNameStartingWith二、多条件查询三、关键字最后总结:前言前两篇我们详细了解了 findById ......
219
0
0
2023-05-16
目录说明Spring Security与Shiro的区别简单使用登录校验流程引入Security设置用户名和密码使用配置类过滤规则授权方式WEB授权方法授权顺序优先级登出跨域认证失败处理类说明Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。 ......
283
0
0
2023-05-12
目录Controller 中使用 @Validated@Validated 是怎么生效的?MethodValidationInterceptor需要满足什么条件那么 Controller 为啥直接添加@Validated 或者 @Valid 就可以呢?MethodValidationPostProcessor 和 AbstractMessageConvert ......
340
0
0
2023-05-12
目录一、存储Bean对象配置扫描添加注解存储Bean对象注解使用范围Bean的命名五大类注解的关系为什么需要五大类注解?二、方法注解@BeanBean重命名三、对象注入属性注入Setter注入构造方法注入@Autowired 和 @Resource 的区别一、存储Bean对象之前我们存储Bean时,需要在spring-config.xml中添加bean注册才 ......
266
0
0
2023-05-10
目录Spring的创建1、创建Maven项目 2、添加Spring框架支持(spring-context,spring-beans) 3、添加启动类 Spring的使用 (Bean对象的存取及使用)Bean对象的存储 1、添加Spring的配置文件2、创建Bean对象 3、将Bean注册到容器中(在配置文件中 ......
276
0
0
2023-05-10
目录一、前言二、实战1、设计用户操作日志表: sys_oper_log2、引入依赖3、自定义用户操作日志注解4、自定义用户操作日志切面5、MyLog注解的使用6、最终效果三、总结一、前言本文主要介绍通过Aop记录用户操作日志,这也是目前比较常用的用法,由于水平有限,所以可能存在错漏之处,望指正。二、实战1、设计用户操作日志表: sys_oper_log对应实 ......
330
0
0
2023-05-07
引言设计模式是大师们总结的编码范式,用于提升代码的扩展性以及优雅性。对于一个研发人员来说,能否写出一手让人点赞的代码,很大程度上取决于我们对于设计模式的落地使用。那么对于一些初学者来说,怎么才能以最快的方式来学习和理解设计模式呢?个人觉得比较好的方式是通过优秀的开源框架来进行学习,这些开源框架中大量使用了设计模式来进行功能扩展。本文主要分析下最常用的Spri ......
272
0
0
2023-05-04
上一篇说了Struct2的相关漏洞,这一篇就复现一下Spring相关的漏洞,关于spring产生的漏洞,其实他跟struct2都差不多,都是因为对用户的参数没有采用严格的控制,导致传入表达式而导致的,只不过struct2是OGNL,而spring是spel表达式造成的。(声明:本篇中的实列均在vulhub中完成)SpEL表达式SpEL(Spring Expr ......
254
0
0
2023-05-04
5、面向切面:AOP在这里先简单介绍一下SpringAop这里是引用Spring AOP(面向切面编程)是Spring框架的一个重要组成部分,它提供了一种在运行时动态地将代码切入到方法、构造函数或者属性的能力,从而实现了对业务逻辑的解耦和复用。 Spring AOP的核心思想是将横切关注点(如日志、事务、安全等)从业务逻辑中分离出来,通过切面(Aspect) ......
253
0
0
2023-05-02