文档章节

spring 初始化加载一些数据

vvvvvvvv
 vvvvvvvv
发布于 2016/08/02 15:15
字数 323
阅读 59
收藏 1

项目在加载完毕后立刻执行afterPropertiesSet 方法 ,并且可以使用spring 注入好的bean

  1. 第一种方式 
    写一个类,实现BeanPostProcessor,这个接口有两个方法 
    (1)postProcessBeforeInitialization方法,在spring中定义的bean初始化前调用这个方法; 
    (2)postProcessAfterInitialization方法,在spring中定义的bean初始化后调用这个方法; 
    这个虽然也能执行,但是是每次加载一个bean都会去执行,不太满足我的要求,我只需要一次就ok了,但是这个接口针对某个专门的bean有用

  2. 第二种方式 编写一个实现ApplicationListener的listener类

    @Service
    public class StartupListener implements
               ApplicationListener<ContextRefreshedEvent > {
    
          public static String ShopNum ;
          @Autowired
          ShopService shopService;
    
          @Override
          public void onApplicationEvent(ContextRefreshedEvent event) {
    
               if ( event.getApplicationContext (). getParent() == null) {
                   // TODO 这里写下将要初始化的内容
                   Shop shopByShopNum = shopService
                             .getShopByShopNum ("e7-80-2e-e8-6c-a6" );
                    System.out .println ("----------------------------" );
               } }}
  3. 最后一种方式编写InitializingBean的实现类

    @Service
    public class Test implements InitializingBean{
    
          @Autowired
          ShopService shopService;
          @Override
          public void afterPropertiesSet() throws Exception {
               Shop shopByShopNum = shopService.getShopByShopNum( "e7-80-2e-e8-6c-a6");
               System.out .println ("----------------------------" );
          }
    
    }

    项目在加载完毕后立刻执行afterPropertiesSet 方法 ,并且可以使用spring 注入好的bean

本文转载自:http://blog.csdn.net/liuyifeng1920/article/details/49800537

vvvvvvvv
粉丝 4
博文 49
码字总数 14754
作品 0
青浦
私信 提问
实现服务启动之后,马上执行任务的几种方法

有哪些方法 实现服务启动之后,马上执行相关操作? 方式一 :@PostConstruct 对类的要求 无,普通的java bean即可 例如: 执行时机 类实例化之后 方式二: 实现org.springframework.context.Appli...

黄威
2018/07/18
301
1
Spring Boot 2.0(七):Spring Boot 如何解决项目启动时初始化资源

在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启...

纯洁的微笑
2018/05/03
0
0
Java Web(6)论如何在 Listener获取Spring Bean

在Web系统开始运行前,需要在数据库里填充一些预置的数据。这里就需要一个在系统运行时,只运行一次的方法,来实现系统的初始化过程。 在这里,自然而然的想到了ServletContextListener这么一...

Jagery
2015/11/16
190
0
利用spring的ApplicationListener实现springmvc容器的初始化加载

1、我们在使用springmvc进行配置的时候一般初始化都是在web.xml里面进行的,但是自己在使用的时候经常会测试一些数据,这样就只有加载spring-mvc.xml的配置文件来实现。为了更方便的使用注解...

小不点丶
2017/05/25
0
0
Spring中的SmartLifecycle作用

Spring中的SmartLifecycle作用 Spring SmartLifecycle 在容器所有bean加载和初始化完毕执行 在使用Spring开发时,我们都知道,所有bean都交给Spring容器来统一管理,其中包括没一个bean的加载...

tantexian
2018/11/16
50
0

没有更多内容

加载失败,请刷新页面

加载更多

XXL-JOB使用命令行的方式启动python时,日志过多导致阻塞的解决方式

一、Runtime.getRuntime().exec()的阻塞问题 这个问题也不能算是XXL-JOB的问题,而是Java的Runtime.getRuntime().exec()造成的,BufferedReader的缓冲区大小有限,当不能及时从缓冲区中把输出...

codeobj
6分钟前
1
0
java后端获取字符串标签里面的具体值

1、如下:怎么获取value值,使用Jsoup解决 <select id='department' name='department' class='select' tabindex='6' onchange='changeDept()'><option value=''>院系</optio......

木九天
13分钟前
2
0
Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型

Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型 OxyPlot组件支持26种图表,这些图表按照功能和样式可以分为4大类,分别为线型图表、条型图表、金融图表和其它图表。 线型图表 OxyP...

大学霸
16分钟前
2
0
移动端input“输入框”常见问题及解决方法

移动端input“输入框”常见问题及解决方法 1. ios中,输入框获得焦点时,页面输入框被遮盖,定位的元素位置错乱: 当页input存在于吸顶或者吸底元素中时,用户点击输入框,输入法弹出后,fie...

tyou
18分钟前
2
0
初探Android线程池

前言 最近在看OkHttp的源码,看的时候发现有关线程池的运用,自己就仔细想了一下,这个块知识好像不是很牢固。没办法,再研究一下有关线程池的相关知识吧。学习就是一个查漏补缺的过程,最终...

二营长的意大利炮手
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部