SmartInitializingSingleton接口具有什么功能呢?

欣喜 Spring 发布时间:2024-12-12 14:08:13 阅读数:15636 1
下文笔者讲述"SmartInitializingSingleton接口"的功能简介说明,如下所示

SmartInitializingSingleton接口简介

 
SmartInitializingSingleton接口的作用
    当IOC容器加载完 所有的单例Bean后
	可运行接口中的方法 

SmartInitializingSingleton的定义

public interface SmartInitializingSingleton {
    void afterSingletonsInstantiated();
}
 
for (String beanName : beanNames) {
    Object singletonInstance = getSingleton(beanName);
    //如果实现SmartInitializingSingleton接口,则执行其afterSingletonsInstantiated方法
    if (singletonInstance instanceof SmartInitializingSingleton) {
        SmartInitializingSingleton smartSingleton = (SmartInitializingSingleton) singletonInstance;
        if (System.getSecurityManager() != null) {
            AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
                smartSingleton.afterSingletonsInstantiated();
                return null;
            }, getAccessControlContext());
        }
        else {
            smartSingleton.afterSingletonsInstantiated();
        }
    }
}

SmartInitializingSingleton的使用

package com.jd.startUpCompletedRunMethod;


import org.springframework.beans.factory.SmartInitializingSingleton;

public class RunMethod implements SmartInitializingSingleton {

    @Override
    public void afterSingletonsInstantiated() {
        System.out.println("Spring加载完毕====>  class:"+this.getClass().toString());
    }
}


将这个 bean交给 Spring管理
Spring初始化完毕后,则会运行  afterSingletonsInstantiated 中的内容
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202412/8202.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者