![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
文章平均质量分 87
记录spring、springboot框架应用与问题
烟雨忆南唐
这个作者很懒,什么都没留下…
展开
-
Spring Boot使用LocalDateTime、LocalDate作为入参
0x0 背景项目中使用LocalDateTime系列作为dto中时间的类型,但是spring收到参数后总报错,为了全局配置时间类型转换,尝试了如下3中方法。0x1 当LocalDateTime作为RequestParam或者PathVariable时这种情况要和时间作为Json字符串时区别对待,因为前端json转后端pojo底层使用的是Json序列化Jackson工具(HttpMessgeConverter);而时间字符串作为普通请求参数传入时,转换用的是Converter,两者有区别哦。原创 2023-08-28 14:57:44 · 1709 阅读 · 0 评论 -
Spring Boot 中的 AOP,到底是 JDK 动态代理还是 Cglib 动态代理
即能用 JDK 做动态代理就用 JDK,不能用 JDK 做动态代理就用 Cglib,即首选 JDK 做动态代理。这两者最大的区别在于基于 JDK 的动态代理需要被代理的对象有接口,而基于 Cglib 的动态代理并不需要被代理对象有接口。having:期待配置的值,如果实际的配置和 having 的值相同,则这个配置就会生效,否则不生效。Spring 中的 AOP,有接口就用 JDK 动态代理,没有接口就用 Cglib 动态代理。如果代理对象有接口,就用 JDK 动态代理,否则就是 Cglib 动态代理。原创 2023-08-16 10:24:55 · 1736 阅读 · 0 评论 -
Springboot读取配置的一些方式
静态变量是类的属性,并不属于对象的属性,而 Spring是基于对象的属性进行依赖注入的,类在应用启动时静态变量就被初始化,此时 Bean还未被实例化,因此不可能通过 @Value 注入属性值。如果我们想要获取 TestService 类中的某个变量的属性值,需要使用依赖注入的方式,而不能使用 new 的方式。注解的实现原理相对简单,应用程序启动时扫描所有被该注解标注的类,获取到注解中指定自定义配置文件的路径,将指定路径下的配置文件内容加载到 Environment 中,这样可以通过。原创 2023-07-25 14:10:46 · 963 阅读 · 0 评论 -
五个维度,解析 Spring 中 @Autowired 和 @Resource 的区别
Autowired是Spring定义的注解,而@Resource遵循JSR-250的规范,定义在JDK中。@Autowired默认先与byType进行匹配,如果发现找到多个Bean,则又按照byName方式进行匹配,如果还有多个Bean,则报出异常。1)如果同时指定name和type,则从Spring上下文中找到与它们唯一匹配的Bean进行装配,如果找不到则抛出异常,具体流程如下图所示。2)如果指定name,则从上下文中查找与名称(ID)匹配的Bean进行装配,如果找不到则抛出异常,具体流程如下图所示。原创 2023-06-28 15:31:10 · 547 阅读 · 0 评论 -
@Configuration 和 @Component 的区别
一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。理解:调用@Configuration类中的@Bean注解的方法,返回的是同一个示例;而调用@Component类中的@Bean注解的方法,返回的是一个新的实例原创 2023-03-29 15:28:44 · 542 阅读 · 0 评论 -
总结几种统计代码执行耗时时间方式
在项目中通常会计算一个函数或业务代码快的耗时时长,总结几种统计代码执行耗时时间方式,在项目中应用原创 2023-03-14 10:04:05 · 887 阅读 · 0 评论 -
SpringBoot 服务端接口公网远程调试,并实现 HTTP 服务监听
前后端分离项目中,在调用接口调试时候,可以通过cpolar内网穿透将本地服务端接口模拟公共网络环境远程调用调试原创 2023-03-08 16:04:48 · 336 阅读 · 0 评论 -
总结实现异步的8种方式
异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通过异步实现的场景原创 2023-03-02 14:48:29 · 2986 阅读 · 0 评论 -
总结11种延迟任务的实现方式
延迟任务在日常生活中比较常见,比如订单支付超时取消订单功能,又比如自动确定收货的功能等等。从实现到原理来盘点延迟任务的11种实现方式,这些方式并没有绝对的好坏之分,只是适用场景的不大相同原创 2023-03-01 14:49:26 · 1044 阅读 · 0 评论 -
Spring 事务失效的十种常见场景
Spirng事务如果没有被正确出,很有可能会导致事务的失效,带来意想不到的数据不一致问题,随后就是大量的人工接入查看和修复数据,该篇主要分享Spring事务在技术上的正确使用方式,避免因为事务处理不当导致业务逻辑产生大量偶发性BUG原创 2023-02-16 14:41:40 · 217 阅读 · 0 评论