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