切面 注解spring aop
java 反射:类和属性是否有注解
* `boolean isAnnotationPresent(Class annotationClass)` 元素上是否包含指定类型的注解,存在则返回 true,否则返回 false * ` A getAnnotation(Class annotationClass)` 获取元素上指定的注解,如果元 ......
Spring获取bean对象常见的几种方式
# 1、常用的是使用@Autowired注解 点击查看代码 ``` @Autowired private UserService userService; ``` # 2、实现BeanFactoryAware,重写setBeanFactory方法 点击查看代码 ``` @Service public ......
spring boot前后端交互之数据格式转换(表单,URL,JSON)
在前后端分离开发的项目种,前端获取数据的方式基本都是通过Ajax。请求方法也有所不同,常见的有POST,GET,PUT,DELETE等。甚至连请求的数据类型都不一样,x-www-form-urlencodeed,form-data,json等。 那么在前后端交互过程中,具体的数据该如何接收呢? ## ......
Spring Boot 我随手封装了一个万能的 Excel 导出工具,传什么都能导出!
## 前言 如题,这个小玩意,就是不限制你查的是哪张表,用的是什么类。 我直接一把梭,嘎嘎给你一顿导出。 我知道,这是很多人都想过的, 至少我就收到很多人问过我这个类似的问题。 我也跟他们说了,但是他们就是不动手,其实真的很简单。 不动手怎么办? 我出手呗。 不多说开搞 。 ## 正文 玩法很简单。 ......
Spring中Bean的生命周期
在Spring 中,最关键的就是Bean ,spring通过IOC容器创建并管理Bean,一个普通的类是怎么样被Spring容器管理,并注册成为一个Bean呢,主要有如下几布 1、实例化Bean,并且对bean的属性的配置进行依赖注入 ,在这一步中,会对类进行实例化,也就是得到一个类的对象,这一步调 ......
使用spring初始化器创建出来的gradle项目,gradle.build.ks文件extra报错的解决方法
有关讨论: 1. https://github.com/spring-io/initializr/issues/922 2. https://github.com/spring-io/start.spring.io/issues/581 springboot生成器:https://start.spr ......
自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器
# 消息转换器 # fastjson与jackjson ## 问题 在springboot中使用fastjson的@jsonField无效 原因:在springboot默认有json(jackjson)解析工具,所以使用fastjson不会生效 解决方案替换默认的解析工具(笔者不推荐,这里根据自己项 ......
[Spring 6.0源码解析] @Configuration注解源码解析
# Spring 6.0源码解析之@Configuration 首先写一个启动代码: ```java public class ConfigurationAnnotationTest { private static final Logger LOGGER = LoggerFactory.getLo ......
什么是 Spring?为什么学它?
欢迎来到本篇文章!在这里,我将带领大家快速学习 Spring 的基本概念,并解答两个关键问题:什么是 Spring,以及为什么学习 Spring。
废话少说,下面,我们开始吧! ......
spring-security 如何使用用户名或邮箱登录
这面文章是介绍使用邮箱以及验证码登录的方式,如果变成如下这种通过用户名或者邮箱的登录方式呢? spring-security只实现用了用户名+密码登录,没有邮箱+密码登录的方式该怎么进行扩展呢? 实际做法如下: 在spring-security.xml添加一个能够支持邮箱登录的bean,并且注入到: ......
Spring笔记
# Spring笔记 ![](https://img2023.cnblogs.com/blog/1656899/202305/1656899-20230514222443348-435977407.png) ## Spring提供两种容器类型:BeanFactory和ApplicationConte ......
spring依赖的几种注入方式
spring不推荐使用@Autowired注解进行注入,推荐使用后面两种方式进行注入,具体还是各位看自己平时的使用习惯,或者是否有要求: 1.@Autowired public class UserController { @Autowired private UserService userSer ......
spring的IOC和AOP机制
ioc(控制反转 inversion of control) 和 aop (Aspect-Oriented Programming) 是spring的灵魂 我的理解:控制反转就是说对原来对象的创建,也就是new一个对象,都是我们手动完成的,但是引入了ioc的思想之后,我们将对象的创建交给spring ......
spring中@Autowired和@Resource的区别
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包 是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写在字段和setter方法上。两者如果都写在字段上,那 ......
springMVC常用注解/标签
配置拦截器 方式一: <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <!-- 生效范围/**代表所有 --> <mvc:exclude-mapping path="/testRequestEntity"/> <!-- 不 ......
Spring源码:Bean生命周期(终章)
本系列前面讲解了Spring的bean定义、bean实例化、bean初始化等生命周期阶段。这些步骤使我们能够了解bean从创建到准备好使用所经历的过程。但是,除了这些步骤,bean的销毁也是非常重要的一步。在本系列的最后,我们将深入探讨bean的销毁过程,包括在什么情况下会发生销毁、销毁的顺序以及如... ......
注解中动态获取nacos值【attribute value must be constant】
nacos中配置环境参数 env: es: dev 注解中添加参数信息 @Data @IndexName(value = "#{@envEs}") public class EsInfo{ private Long id; } 添加配置文件获取配置数据 @Component public class ......
Spring5框架新功能
1.整个Spring5框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除 2.Spring5.0框架自带了通用的日志封装 1.spring5已经移除Log4jConfigListener,官方建议使用Log4j2 spring5框架整合Log4j2 引入jar包 < ......
Spring Boot 3.1 正式发布,王炸!!
## Spring Boot 3.1 正式发布 大家好,我是R哥。 上一篇:[Spring Boot 3.0 正式发布,王炸!!](https://mp.weixin.qq.com/s/p-rDuyNv68hQvwRBrm5KWA) Spring Boot 3.0 发布半年左右,Spring Boo ......
学习笔记-Spring事务
学习的文章 [小姐姐非要问我:spring编程式事务是啥? (qq.com)](https://mp.weixin.qq.com/s?__biz=MzA5MTkxMDQ4MQ==&mid=2648936779&idx=2&sn=a6255c7d436a62af380dfa6b326fd4e7&chk ......
com.fasterxml.jackson工具类通过注解过滤给前端返回json,没有value则移除对应的key
引入 <dependency> <groupId>com.liferay</groupId> <artifactId>com.fasterxml.jackson.annotations</artifactId> <version>2.10.3.LIFERAY-PATCHED-1</version> ......
聊聊如何利用spring插件来实现策略模式
## 前言 偶然的机会发现spring有个spring-plugin,官网对它的介绍是 > Spring Plugin provides a more pragmatic approach to plugin development by providing the core flexibility ......
注解
什么是注解? 和注释很像,但是却是引用数据类型 注解有什么用 它能再次筛选 语法: 修饰符 @interface 注解类型名{} 使用注解语法格式: @注解类型名 注解可以使用在类,对象,方法,变量上等任何地方,甚至可以在注解自己身上,它可以出现在任意位置! 注解中属性可以是哪些属性类型? 如果属性 ......
AOP-基本概念以及底层原理(JDK动态代理实现)
1.什么是AOP 1.面向切面编程(面向方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高开发效率 2.通俗描述:不通过修改源代码方式,在主干功能里添加新功能 AOP(底层原理) 1.AOP底层使用到了动态代理 1.两种情况动态代 ......
[Java] JDK与Spring国际化支持
# 0 序言 在`Spring context` 与`Spring IoC`对`ApplicationContext`以及`Context`相关的设计模式进行了介绍。 `ApplicationContext`作为一个`Context`在应用的运行层提供了**IoC容器**、**事件**、**国际化* ......
天下苦 Spring 久矣,Solon v2.2.20 发布
Java 新的生态型应用开发框架:更快、更小、更简单。
启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native。 ......
spring
# Spring ## 初始Spring 官网:spring.io spring发展今天形成了一种生态圈,spring提供了若干个项目,每个项目用于完成特定的功能 - Spring Framework - Spring Boot - Spring Cloud # Spring Framework系统 ......
如何正确的处理spring的声明式事务
## 1. 前言 > Spring 针对 Java Transaction API (JTA)、JDBC、Hibernate 和 Java Persistence API (JPA) 等事务 API,实现了一致的编程模型,我们大多数做业务开发的时候,通常就在业务方法上使用声明式注解 @Transac ......
spring security授权过滤器FilterSecurityInterceptor学习
本文记录了spring security中处理权限控制的过滤器FilterSecurityInterceptor的执行流程,
对此过滤器进行配置的两种方式 ExpressionUrlAuthorizationConfigurer和UrlAuthorizationConfigurer
的使用和源码... ......
SpringBoot实现限流注解
# SpringBoot实现限流注解 在高并发系统中,保护系统的三种方式分别为:缓存,降级和限流。 限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待 ## 1、限流类型枚举类 ```java /** * 限流类型 * ......