spring源码学习笔记
2022年9月23日小于 1 分钟
spring源码学习笔记
1、BeanFactory和ApplicationContext
BeanFactory
是ApplicationContext
中的一个变量,默认的实现类是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("监听到事件");
}
}