详解Spring中InitializingBean接口的功能

 更新时间:2022年05月05日 14:11:00   作者:java265  
这篇文章主要介绍了Spring中InitializingBean接口的功能,讲述了spring中InitializingBean接口的功能简介说明,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Spring的InitializingBean接口有很好的用处,位于spring beans中,它只提供一个方法afterPropertiesSet(),当你实现了该方法后,spring就会对你提供框架级的支持:当你通过sring容器生产出实现了该接口的类的实例后,它就会调用afterPropertiesSet方法,通过这个方法,你可以检查你的bean是否正确地被初始化了.当然,你也可以用init-method方法.这两种方式可以同时使用,调用的顺序为init-method后调用.

下面介绍下Spring中InitializingBean接口的功能,内容如下所示:

如果你将类交给Spring容器管理,但是需要Spring帮你运行初始化方法

此时我们可以借助InitializingBean接口实现初始化方法的效果

InitializingBean接口的原理:

Spring实例化一个类后,会调用类中的afterPropertiesSet方法,达到初始化初始化方法的目的

下文笔者讲述Spring中InitializingBean接口的功能简介说明,如下所示

InitializingBean接口的功能

InitializingBean接口

为bean提供了初始化方法的方式

这个接口中只包括afterPropertiesSet方法

凡是继承该接口的类

在初始化bean的时,都会运行afterPropertiesSet方法

import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Service;
public class InitBean implements InitializingBean{
    public void afterPropertiesSet() throws Exception {
       System.out.println("启动时自动执行 afterPropertiesSet...");
    }
    public void init(){
        System.out.println("init method...");
    }
} 
---配置文件-----
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation=
    "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
     http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"
     default-lazy-init="true">
    <bean id="initBean"  class="com.java265.InitBean" init-method="init"> </bean>
</beans>   
---main程序----
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new
                FileSystemXmlApplicationContext("classpath:/applicationContext-core.xml");
        context.getBean("initBean");
    }
}  
-----运行以上代码,将输出以下信息---------
 启动时自动执行 afterPropertiesSet...
init method...

到此这篇关于Spring中InitializingBean接口的功能的文章就介绍到这了,更多相关Spring InitializingBean接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot集成Druid实现监控功能的示例代码

    SpringBoot集成Druid实现监控功能的示例代码

    这篇文章主要介绍了SpringBoot集成Druid实现监控功能,Druid是阿里巴巴开发的号称为监控而生的数据库连接池,可以很好的监控DB池连接和SQL的执行情况,天生就是针对监控而生的DB连接池,文中通过代码示例讲解非常详细,需要的朋友可以参考下
    2024-02-02
  • SpringMvc @Valid如何抛出拦截异常

    SpringMvc @Valid如何抛出拦截异常

    这篇文章主要介绍了SpringMvc @Valid如何抛出拦截异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 如何在logback日志配置里获取服务器ip和端口

    如何在logback日志配置里获取服务器ip和端口

    这篇文章主要介绍了如何在logback日志配置里获取服务器ip和端口的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring事务的失效场景你知道多少

    Spring事务的失效场景你知道多少

    这篇文章主要为大家详细介绍了Spring事务的失效场景,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI

    SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI

    这篇文章主要介绍了SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • maven中snapshot相关jar无法拉取问题及解决方案(常用方案)

    maven中snapshot相关jar无法拉取问题及解决方案(常用方案)

    Maven中的SNAPSHOT版本是指正在开发中的版本,这些版本可能会频繁地更新,在使用Maven构建项目时,有时会遇到无法拉取SNAPSHOT相关jar的问题,下面给大家分享maven中snapshot相关jar无法拉取问题及解决方案,感兴趣的朋友一起看看吧
    2024-06-06
  • Java中Date时区的转换代码示例

    Java中Date时区的转换代码示例

    这篇文章主要给大家介绍了关于Java中Date时区转换的相关资料,当在不同的时区使用相同程序,时间的值只会为当地时间,这样就会造成时间混乱,需要的朋友可以参考下
    2023-07-07
  • maven私服的配置使用方法

    maven私服的配置使用方法

    这篇文章主要介绍了maven私服的配置使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 根据list中对象的属性去重和排序小结(必看篇)

    根据list中对象的属性去重和排序小结(必看篇)

    下面小编就为大家带来一篇根据list中对象的属性去重和排序小结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • JAVA8独有的map遍历方式(非常好用)

    JAVA8独有的map遍历方式(非常好用)

    这篇文章主要介绍了JAVA8独有的map遍历方式(非常好用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论