Spring Bean初始化之后执行指定方法
转:
Spring Bean初始化之后执行指定方法
Spring Bean初始化之后执行指定方法
在运用Spring进行实际项目开发过程中,经常会有一种需求就是想要在Bean实例化完成后,自动执行指定方法,包括加载初始值,初始化缓存等。通过简单的XML配置或者使用注解即可实现。
本文仅用于记录简单的使用介绍,不阐述详细的技术实现细节,达到抛砖引玉的效果。
- 1
- 2
XML配置
如果项目中bean是通过xml配置方式来管理与加载的,可以在XML配置bean时,指定init-method属性即可。示例如下:
<bean id="initMethodTest" class="service.InitMethodTest" init-method="initMethod"/>
- 1
bean标签中的init-method指定当Spring容器初始化initMethodTest完成后,自动执行InitMethodTest类中的initMethod方法。InitMethodTest如下:
public class InitMethodTest {
public void initMethod(){
System.out.println(">>>>>>>>>initMethod<<<<<<<<<<<");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
创建JUnit单元测试,不进行执行任何方法,仅查看Spring初始化执行效果
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:config/applicationContext.xml"})
public class InitMethodJUnitTest {
@Autowired
private InitMethodTest initMethodTest;
@Test
public void initMethodTest(){
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
运行结果如下:
>>>>>>>>>initMethod<<<<<<<<<<<
- 1
Spring注解方式
如果项目中bean是通过注解方式管理的,需要在初始化完成后,执行指定方法,仅仅需要在需要执行的方法上添加@PostConstruct注解即可,修改后的JAVA类如下:
@Component
public class InitMethodTest {
@PostConstruct
public void initMethod(){
System.out.println(">>>>>>>>>initMethod<<<<<<<<<<<");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
另外还可以通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法。
更多请参考:http://blog.csdn.net/heyutao007/article/details/50326793
Spring Bean初始化之后执行指定方法的更多相关文章
- ApplicationListener接口,在spring容器初始化后执行的方法
一.如果我们希望在Spring容器将所有的Bean都初始化完成之后,做一些操作,那么就可以使用ApplicationListener接口,实现ApplicationListener接口中的onAppl ...
- spring注解之@PostConstruct在项目启动时执行指定方法
一.注解解释 Spring的@PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean,并且一个Bean中@PostConst ...
- jQuery按回车键执行指定方法
1.按Enter键执行指定方法: //按回车进入页面 $(function(){ $(document).keydown(function(event){ if (event.keyCode == 1 ...
- Spring中初始化bean和销毁bean的时候执行某个方法的详解
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过注解@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 ...
- spring 初始化之后执行的方法
Spring初始化完成后直接执行一个方法,初始化数据(解决方法并执行两次) 在做WEB项目时,经常在项目第一次启动时利用WEB容器的监听.Servlet加载初始化等切入点为数据库准备数据,这些初始化数 ...
- spring bean初始化及销毁你必须要掌握的回调方法
spring bean在初始化和销毁的时候我们可以触发一些自定义的回调操作. 初始化的时候实现的方法 1.通过java提供的@PostConstruct注解: 2.通过实现spring提供的Initi ...
- spring bean初始化顺序
转载:http://blog.csdn.net/heyutao007/article/details/50326793 常用的设定方式有以下三种:通过实现 InitializingBean/Dispo ...
- 一次Spring Bean初始化顺序问题排查记录
最近在使用Springboot的时候需要通过静态的方法获取到Spring容器托管的bean对象,参照一些博文里写的,新建了个类,并实现ApplicationContextAware接口.代码大致如下: ...
- 🙈羞,Spring Bean 初始化/销毁竟然有这么多姿势
文章来源:http://1t.click/bfHN 一.前言 日常开发过程有时需要在应用启动之后加载某些资源,或者在应用关闭之前释放资源.Spring 框架提供相关功能,围绕 Spring Bean ...
随机推荐
- 【抱怨文】vscode对多项目支持不够友好
vscode是一个简单的开发工具,启动快,速度快.但是当前1.26版本对多项目支持好像有点问题.命令行有个dotnet sln,但是只能添加新项目,却没有创建解决方案的命令.如果强行添加他会提示没有解 ...
- web测试之功能测试总结
web测试是什么? web测试就是基于BS架构的软件产品的测试,通俗点来说就是web网站的测试 web功能测试包括哪些方面? 功能测试主要包括6大部分: 1.链接测试 2.表单测试 3.搜索测试 4. ...
- 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总
Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...
- git排除插件(.ignore)配置
# Created by .ignore support plugin (hsz.mobi) ### Maven template target/ ### JetBrains template # C ...
- butterknife使用
butterknife是一个轻量级的DI框架,官网地址:http://jakewharton.github.io/butterknife/ 注意事项:使用前需要对编辑器进行相关设置,详见官网说明. 以 ...
- winform 仿web 滑块验证
winform 仿web 滑块验证 效果如下: 源码下载地址: https://download.csdn.net/download/u011392711/11109687
- 无法创建保存文件 "afiedt.buf"
我习惯在搜索框输入sqlplus,输入相应的sql语句.但是直接输入ed的时候会报这个错误. 在cmd中登录进去,然后一步一步走,登录进去就可以了. 找到了这两个窗口的一个区别.
- Linux云计算运维-Redis
Redis简介 Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. Redis采用内存(In-Memory)数据集(DataSet) ...
- R语言学习——图形初阶之散点图
使用R内置的数据框mtcars,绘制车身重量与每加仑汽油行驶的英里数的散点图,要求横轴为车身重量(wt),纵轴为每加仑汽油行驶的英里数(mpg),并添加最优拟合曲线.标题,输出为pdf文件.代码实现如 ...
- 【vue】iView-admin2.0动态菜单路由
vue项目实现动态路由有俩种方式 一.前端在routers中写好--所有--路由表 <前端控制路由>,登录时根据用户的角色权限来动态的显示菜单路由 二.前端通过调用接口请求拿到当前用户-- ...