笔记
文章平均质量分 89
Fly丶X
一枚半路出家的码农,分享工作中总结的技术知识
展开
-
9千字长文带你了解SpringBoot启动过程--史上最详细 SpringBoot启动流程-图文并茂
来自面试官发自内审深处的灵魂拷问:“说一下springboot的启动流程”;一脸懵逼的面试者:“它简化了spring的配置,主要是因为有自动装配的功能,并且可以直接启动,因为它内嵌了tomcat容器”;面试官:“嗯, 没错,这是 它的一些概念,你还没回答我的问题,它是怎么启动的,启懂时都经过了哪些东西?”;一脸懵逼的面试者:“额~~~不知道额····,我用的很熟练,但是不知道它里面做了哪些事情!”;面试官:“了解内部原理是为了帮助我们做扩展,同时也是验证了一个人的学习能力,如果你想让自己的职业道路.转载 2022-04-09 10:53:06 · 50700 阅读 · 18 评论 -
Spring AOP 切面(Aspect)应用详解
1. AOP 切面应用下面是一个AOP切面的一个简单的应用实例引入AOP依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>创建切面类对象@Aspect@Componentpublic class ItemCach原创 2021-06-12 22:52:01 · 2360 阅读 · 0 评论 -
spring事务为何失效?正确的spring事务使用方式
概述我们知道spring事务分声明式事务和编程式事务;编程式事务是由用户手动去开启事务并手动提交或回滚,一般不用,声明式事务是由用户将一段业务逻辑声明为事务,由spring容器代理完成,用spring事务注解@Transactional即可声明,但是事务注解@Transactional使用不当会使事务失效,下面我们就来盘点spring声明式事务的正确使用方式定义一个controller,并注入service来调用事务方法@Controller@RequestMapping("brand")pub原创 2021-06-08 22:41:41 · 174 阅读 · 0 评论 -
synchronized的各种场景用法详解
概述synchronized是java的关键字,它的作用是加同步锁,即被synchronized修饰的部分同一时间只允许一个线程访问,它的使用场景有如下几种:修饰普通方法:对当前对象实例加锁,调用该方法需要获得当前对象实例的锁修饰静态方法:对当前类加锁,会对该类的所有实例加锁,因为静态方法不属于任何一个实例对 象,是属于类成员。所以当线程A访问调用一个实例对象的synchronized方法,线程B调用这个实例对象的静态synchronized方法是允许的修饰代码块:对指定的对象加锁,可以指定变原创 2021-05-15 23:46:33 · 2566 阅读 · 0 评论