Spring 核心API

BeanFactory: 这是一个工厂,用于生产任意Bean,采用延迟加载,第一次getBean时才会加载

ApplicationContext: 是BeanFactory的一个子接口,功能更强大(国际化处理,事件传递,Bean自动装配,各种不同应用层的Context实现),配置文件一加载,对象就会被加载

ClassPathXMLApplicationContext: 用于加载classpath(类路径、src)下指定的XML

  加载XML运行时位置--》WEB-INF/classes/*.XML

FileSystemXMLApplicationContext:用于加载指定盘符下的XML

  通过Javaweb ServiceContext.getRealPath()获得具体盘符

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Bean的种类

1、普通Bean

  <bean id="", class=""></bean>

  Spring 直接创建Bean的实例并返回

2、FactoryBean:

  是一个特殊的Bean,具有工厂生产对象的能力,只能生产特定的对象。Bean必须实现FactoryBean接口,此接口提供方法 getObject() 用于获得特定Bean

  <bean id="", class="FB"></bean>,先创建FB实例,使用调用getObject()方法,并返回方法的返回值。

  FB fb = new FB();

  return fb.getObject();

3、BeanFactory 和 FactoryBean 对比:

  BeanFactory:工厂,用于生产任意Bean

  FactoryBean:这是一个特殊的Bean,用于生产另一个特定的Bean的,例如 ProxyFactoryBean:此工厂Bean用于生产代理

  <bean id="" class="" ...ProxyFactoryBean>。获得代理对象时使用

作用域:

  作用域用于确定Spring 创建Bean的实例的个数

  singleton: 单例,默认值

  prototype: 多例,每次执行getBean() 方法都将获得一个实例

  request:

  session:

  globalsession:

原文地址:https://www.cnblogs.com/StanLong/p/10409851.html