Spring容器加载完成后缓存数据
现在想在spring容器启动完成(所有的bean都实例化)之后,自动调用DAO层的一个方法,缓存一部分数据。
网上找了找,最靠谱点的就是继承ApplicationListener,但是容器启动之后没有效果,代码如下:
package com.test.listener;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Repository;
@Repository
public class InitTest implements ApplicationListener<ContextRefreshedEvent> {
private TestDAO dao;
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
dao.refreshCache();
}
配置文件:
<bean id="InitTest" class="com.test.listener.InitTest" />
请各位帮忙看一下有什么问题?另外有没有更直接的方法,实现这个功能?
相关推荐
详解Spring简单容器中的Bean基本加载过程
,即组合使用 DefaultListableBeanFactory 和 XmlBeanDefinitionReader 来完成加载过程。
Spring中使用 BeanDefinitionRegistryPostProcessor、ImportBeanDefinitionRegi,自定义注册 Bean 以及改变 Bean 的实例化加载顺序
2、使用 BeanDefinitionRegistryPostProcessor 接口 + Spring容器初始化器接口(ApplicationContextInitializer) + /META-INFO/spring.factories 这种方式注册的Bean,优先级高于 @Component、@Configuration、@Bean、@Service 等扫描注解方式注册的bean。注意:这里自定义注册bean后,那么该bean类上标注的 @Component 注解需要去掉,否则会报错bean重复。
详解spring boot容器加载完后执行特定操作
"Spring Boot 容器加载完成后执行特定操作"Spring Boot 框架提供了多种方式来执行容器加载完成后的特定操作,例如使用 ApplicationListener 接口或使用 @PostConstruct
SpringBoot如何在普通类加载Spring容器
然而,在某些情况下,我们可能需要在普通类中使用Spring容器中的Bean。在本文中,我们将介绍如何在普通类中加载Spring容器中的Bean。
Spring原理解析-BeanFactory—容器加载过程解析
总的来说,Spring的BeanFactory容器加载过程主要包括以下步骤:1. 创建DefaultListableBeanFactory实例。2.


Web 开发
