
SpringBoot
文章平均质量分 76
Chen_leilei
头发掉光,技术见长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一文搞懂Spring是如何解决Bean循环依赖的?
调用的是AbstractAutowireCapableBeanFactory的createBeanInstance//确认需要创建bean实例的类可以实例化Class原创 2023-08-16 22:47:35 · 788 阅读 · 0 评论 -
SpringBoot源码分析之Tomcat是如何在SpringBoot中启动的?
SpringBoot 的启动是通过 new SpringApplication()实例来启动的,启动过程主要做如下几件事情:> 1. 配置属性 > 2. 获取监听器,发布应用开始启动事件 > 3. 初始化输入参数 > 4. 配置环境,输出 banner > 5. 创建上下文 > 6. 预处理上下文 > 7. 刷新上下文 > 8. 再刷新上下文 > 9. 发布应用已经启动事件 > 10. 发布应用启动完成事件而启动 Tomcat 就是在第 7 步中“刷新上下文”;原创 2023-05-20 11:35:36 · 1899 阅读 · 0 评论 -
SpringBean的生命周期
一.bean的生命周期首先我们看一下最原始的BeanFactory接口是怎么描述的大家可以看到BeanFactory列举了很多接口,他们代表了Bean的生命周期,我们结合spring代码来看看这些接口是什么时候调用的下面我们看一下AbstractAutowireCapableBeanFactory抽象类里面的doCreateBean方法protected Object doCreateBean(final String beanName, final RootBeanDefinit原创 2022-05-20 15:23:25 · 1545 阅读 · 0 评论 -
SpringBoot源码解析(一)
今天我们来看看SpringBoot是如何启动的:首先进入run方法一顿点之后,我们会来到一个最终的run方法public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context = null; FailureAnalyze..原创 2022-04-06 17:34:15 · 843 阅读 · 0 评论 -
SpringBoot知识清单
一.Spring IOC容器1.1Spring IOC 你只需要告诉它你需要哪个bean,他就会把具体的实例发给你,至于这个实例是否依赖其他bean,如何完成初始化,你根本不需要关心IoC容器想要管理各个业务对象以及它们之间的依赖关系,需要通过某种途径来记录和管理这些信息。BeanDefinition对象就承担了这个责任:容器中的每一个bean都会有一个对应的BeanDefinition实例,该实例负责保存bean对象的所有必要信息,包括bean对象的class类型、是否是抽象类、构造方法和参数、其原创 2022-04-06 17:07:42 · 834 阅读 · 0 评论 -
SpringBoot事务失效场景
一.事务不生效1.访问权限的问题如果我们在开发过程中,把有事务的方法定义了错误的权限,就会导致事务功能出错。众所周知,spring要求被代理的方法必须是public的。说白了,在AbstrctFallbackTransactionAttributedSource类的computeTransactionAttribute方法中有个判断,如果目标不是public则TransactionAttribute返回的是空protected TransactionAttribute computeTrans原创 2022-01-02 21:35:55 · 2642 阅读 · 0 评论 -
Spring Boot 中的 AOP是 JDK 动态代理还是 Cglib 动态代理?
aop的动态代理原创 2021-11-30 11:24:50 · 664 阅读 · 0 评论 -
SpringBoot内置得Tomcat容器是如何启动的?
1.从main方法说起用过SpringBoot的人都知道,首先是一个main方法启动的@SpringBootApplicationpublic class TomcatdebugApplication { public static void main(String[] args) { SpringApplication.run(TomcatdebugApplication.class, args); }}进入run方法发现最终调用的是Configura原创 2021-03-17 10:11:57 · 378 阅读 · 0 评论 -
Spring中bean的作用域详解
在Spring中,默认情况下所有的bean都是单例作用域的,也就是说不管给定的一个bean被注入多少次,所注入的都是同一个实例。但是,有时候,你所使用的类是易变的,他们会保持一些状态,因此重复使用是不安全的,在这种情况下把class声明为单例就会造成对象污染。Spring定义了多种作用域包括:单例(Singleton):在整个应用中,只创建bean一个实例原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例会话(Session):在W原创 2021-03-08 22:04:58 · 929 阅读 · 0 评论 -
SpringMVC的工作原理
先上一张图片...SpringMVC流程1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求,调用HandlerMapping处理器映射器3.Handlermapping找到具体的Handler(可以根据xml配置,注解进行查找)生成处理器对象以及处理器拦截器,然后发送给DispatcherServlet4.Dispa...原创 2018-11-05 14:08:55 · 619 阅读 · 0 评论 -
我是如何理解Spring Bean的作用域
在默认的情况下,Spring应用上下文所有的Bean都是单例形式创建的,也就是说,不管给哪一个bin被注入到其他bean多少次,每次注入的都是同一个实例。但有些时候,单例的并不能解决所有问题,Spring定义了多种作用域,可以基于这些作用域创建bean 包括:单例 Singleton :在整个应用中,只创建bean的一个实例原型 Prototype: 每次注入或者通过Spring上下文获取的时候,都是一个新的bean实例会话 Session :在Web应用中,为每个会话创建一个bean实原创 2020-08-03 15:57:17 · 540 阅读 · 4 评论 -
SpringBoot整合SpringJPA时,findOne报错
这个时候你应该看看SpringBoot的版本,我刚才是用的2.0以上的版本,findOne就是打死找不到,后来想到了会不会是版本问题,结果将版本改为<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent...原创 2018-09-26 11:43:43 · 326 阅读 · 0 评论 -
解决JavaEE开发的颠覆者SpringBoot实战 SpringBoot整合Thymeleaf中使用th:onclick报错
在学习到SpringBoot整合Thymeleaf中原文是<button class="btn" th:onclick="'getName(\''+${person.name}+'\');'">获得名字</button>但是发现报错报错信息:2018-11-20 17:26:55.778 ERROR 14900 --- [nio-8080-exec...原创 2019-10-31 10:44:03 · 403 阅读 · 0 评论 -
springboot整合websocket实现根据条件给不同的用户弹窗
前端代码<script type="text/javascript"> var websocket = null; var last_health = -1; var health_timeout = 20000; var health_message = "520";//心跳包 var isOpenWebsocket = false;...原创 2019-10-29 10:06:37 · 1261 阅读 · 0 评论 -
Caused by: java.lang.UnsupportedOperationException: null
在 springboot +mabatis 整合中 报错 Caused by: java.lang.UnsupportedOperationException: null。这个问题大家可以直接找一下你的mapper.xml中。<select id="selectAlluser" resultType="java.util.List"> select * from user2 ...原创 2019-01-10 18:22:47 · 9275 阅读 · 2 评论 -
SpringBoot+myBatis逆向工程的搭建
第一步 首先建立你的数据库的表第二步 在pom.xml添加:<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> ...原创 2018-11-05 14:20:54 · 484 阅读 · 2 评论