在 Spring 中有哪些核心类和扩展类?

作为一个 Java 开发,Spring 的技术可以说是必须要掌握的,不仅仅是会使用,而且要掌握原理,学会扩展。 今天我就说说,哪些核心类和扩展类是必须要掌握的,同时我也说明这些扩展可以干什么,后面 Spring 文章,我会用到这些扩展类,让你学懂这些类。

核心类:

IOC容器: org.springframework.context.ApplicationContext

配置类: org.springframework.core.env.Environment

Bean工厂:org.springframework.beans.factory.BeanFactory

事件发布器: org.springframework.context.ApplicationEventPublisher

资源加载器: org.springframework.core.io.ResourceLoader

上面这几个类,是我们经常会用到的。它们都有相应的 Aware 接口, 如 org.springframework.context.ApplicationContextAware, 可以设置 applicationContext 对象到我们自己定义的 bean 对象中.

注意这样 setApplicationContext 的方式比 @Autowired 注解注入 applicationContext 的方式的时机要早很多,所以一般推荐用 setApplicationContext 的方式。

相应的源码 ApplicationContextAwareProcessor

扩展类

beanFactory的后置处理器: org.springframework.beans.factory.config.BeanFactoryPostProcessor

bean的后置处理器: org.springframework.beans.factory.config.BeanPostProcessor

上面的两个类非常重要,如果你现在还不会熟练使用它们,说明 spring 掌握的很一般。

非常有用的类

代理工厂: org.springframework.aop.framework.ProxyFactory

bean工厂: org.springframework.beans.factory.ObjectFactory

属性绑定: org.springframework.boot.context.properties.bind.Binder

选择性导入bean: org.springframework.context.annotation.ImportSelector

上面这几个类,一般在扩展功能时,都会用到。

0%