spring源码学习笔记

Tony-ffd2022年9月23日小于 1 分钟

spring源码学习笔记

1、BeanFactory和ApplicationContext

BeanFactoryApplicationContext中的一个变量,默认的实现类是DefaultListableBeanFactory,我们常说的bean对象池也就是该类中的singletonObjects变量。ApplicationContext中的getBean等操作bean对象的方法就是使用BeanFactory中的相关方法的实现。

再看看applicationContext中的其它几个实现接口的相关功能:

@SpringBootApplication
public class SpringSourceCodeLearnApplication {
    public static void main(String[] args) throws IOException {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(SpringSourceCodeLearnApplication.class, args);
        //MessageSource 接口
        applicationContext.getMessage("hi",null, Locale.CHINESE);
        //ResourcePatternResolver 接口
        applicationContext.getResources("classpath*:appl|ication.yml");
        //EnvironmentCapable 接口 (获取环境变量和参数不区分大小写)
        applicationContext.getEnvironment().getProperty("java_home");
        //
        applicationContext.publishEvent(SpringSourceCodeLearnApplication.class);
    }

    @EventListener(SpringSourceCodeLearnApplication.class)
    public void exc(){
        System.out.println("监听到事件");
    }

}
上次编辑于:
贡献者: ffd