2020.04.06-SpringFramework官方文档-IOC容器1.1-1.5
该org.springframework.context.ApplicationContext接口代表Spring IoC容器,并负责实例化,配置和组装Bean
实际上,您的应用程序代码应该根本不调用该 getBean()方法
Bean行为配置元素,用于声明Bean在容器中的行为(作用域,生命周期回调等)。
池的大小限制或要在管理连接池的bean中使用的连接数。
ApplicationContext实现还允许注册在容器外部(由用户)创建的现有对象。这是通过通过方法访问ApplicationContext的BeanFactory来完成的getBeanFactory(),该方法返回BeanFactory DefaultListableBeanFactory实现。
ID命名、别名:
在基于XML配置文件,您可以使用id属性,该name属性,或两者来指定bean标识符。该id属性使您可以精确指定一个ID。按照惯例,这些名称是字母数字(“ myBean”,“ someService”等),但它们也可以包含特殊字符。如果要为bean引入其他别名,还可以在name 属性中指定它们
您不需要为bean 提供name或id。如果不提供 name或id显式提供,容器将为该bean生成一个唯一的名称
Bean定义实质上是创建一个或多个对象的方法。
当被询问时,容器将查看命名bean的配方
用静态工厂方法实例化
要定义工厂方法
基于构造函数或基于setter的DI
Spring团队通常提倡构造函数注入
因为它使您可以将应用程序组件实现为不可变对象,并确保不存在必需的依赖项nul
创建容器时,Spring容器会验证每个bean的配置。但是,在实际创建Bean之前,不会设置Bean属性本身。创建容器时,将创建具有单例作用域并设置为预先实例化(默认)的Bean。范围在Bean范围中定义。否则,仅在请求时才创建Bean。
方法注入,单例和非单例合作
?什么是Spring中的Bean
?单例