Spring
文章平均质量分 59
疯狂撸代码的奋青
道阻且长,行则将至,行而不辍,未来可期。
展开
-
自定义WebMvcConfigurer、WebMvcConfigurationSupport失效之谜
注解-@EnableWebMVC源码@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@Documented@Import(DelegatingWebMvcConfiguration.class)public @interface EnableWebMvc {}意思就是说:如果引用了@EnableWebMVC注解,就会往spring容器中注入了一个DelegatingWebMvcConfiguration来统一管理所有的原创 2022-03-16 23:22:18 · 3586 阅读 · 0 评论 -
Spring容器 之 循环依赖终极讲解
一、问题重现情况一SelfDependencyBean 中含有 SelfDependencyBean 属性并且需要依赖注入。情况二OrderServiceImpl 中含有 UserServiceImpl 属性并且需要依赖注入;UserServiceImpl 中含有 OrderServiceImpl 属性并且需要依赖注入。反正嘛,就是形成了循环的依赖关系就是这个意思。如果单例的情况,Spring会自动帮你解决;而多例的情况,从逻辑上是会造成无限递归导致内存溢出,所以spring并不会帮你擦屁股原创 2021-11-12 15:43:06 · 1127 阅读 · 1 评论 -
Spring Bean 生命周期(转)
前言本篇文章主要是要介绍如何在Spring IoC 容器中 如何管理Spring Bean生命周期。在应用开发中,常常需要执行一些特定的初始化工作,这些工作都是相对比较固定的,比如建立数据库连接,打开网络连接等,同时,在结束服务时,也有一些相对固定的销毁工作需要执行。为了便于这些工作的设计,Spring IoC容器提供了相关的功能,可以让应用定制Bean的初始化和销毁过程。Spring Bean 生命周期图片描述先来看看 Spring Bean 的生命周期流程图。结合图看后面的描述会更轻松一点哦。转载 2021-09-29 10:51:51 · 72 阅读 · 0 评论 -
Springboot实现服务启动后执行
CommandLineRunner作用需要实现在服务启动后执行的功能,SpringBoot提供的一种简单的实现方案就是实现CommandLineRunner接口,实现功能的代码放在实现的run方法中栗子SpringBoot在项目启动后会遍历所有实现CommandLineRunner的实体类并执行run方法,如果需要按照一定的顺序去执行,那么就需要在实体类上使用一个@Order注解(或者实现Order接口)来表明顺序;执行优先级是按value值从小到大顺序。package org.spring原创 2021-08-16 16:24:29 · 376 阅读 · 0 评论 -
手动控制事务
@Service("xxxServiceImpl")public class XxxServiceImpl implements IService { private Logger logger = LoggerFactory.getLogger(this.getClass()); // 1.获取事务控制管理器 @Autowired private DataSourceTransactionManager transactionManager; @Autowired private Xx原创 2021-05-26 11:18:58 · 213 阅读 · 0 评论