spring IOC小知识点

 

1.三个比较重要的ApplicationContext的实现类
FileSystemXmlApplicationContext
加载磁盘任意路径下的配置文件,并创建容器

AnnotationConfigApplicationContext
用于读取注解创建的容器

ClassPathXmlApplicationContext
用于加载类路径下的配置文件,并创建容器


2.ApplicationContext和BeanFactory

ApplicationContext 适用单例模式
在构建spring核心容器时,立即加载并且创建对象

BeanFactory 适用多例模式
延迟加载,核心容器创建时,没有创建对象,什么时候获取对象,什么时候创建。

3.三种创建bean的方式

  1默认的构造函数创建,如果该类没有默认的构造函数,则创建失败
  (2和3可以解决将jar包中的类实例化加入spring容器)
  2普通工厂中的方法创建,使用某个类中的方法创建
  3工厂中的静态方法创建

4.bean对象的作用范围
scope属性,

值有 singleton 单例
  prototype 多例
  request作用于web应用的请求
  session作用于web应用的会话范围
  global-session 集群环境的session范围


5.bean对象的生命周期
  单例对象 单例对象的生命周期和容器相同

  多例对象

    创建:使用对象时创建,
    活着:对象只要是在使用就一直存在
    死亡:垃圾回收

6.依赖注入
  注入的数据有三类:
    基本类型和String
    其他bean类型 (xml配置的或者注解)
    复杂类型   (Date,List,Map...)
  注入的方式有三种
    使用构造函数 使用的标签constructor-arg 几个参数 name value ref 弊端:如果有些属性用不到,也必须提供
    使用set方法 使用的标签property name value ref
    使用注解

7.spring注解
  component controller service reposity   创建bean相关

  autowired resource qualifier     注入相关

value 用于注入基本类型和String   注入相关

scope 控制bean的作用范围

configuration 指定当前类是一个配置类
该注解可以解决xml中复杂的配置问题,并且可以解决存入jar包中的类实例到容器
componentScan 指定需要扫描的包 属性有basePackages和value 作用一样的
bean 将方法的返回值作为bean对象存入spring容器 默认的key是当前方法的名称
import 导入其他的配置类
propertySource 用于指定properties文件的位置

posted @ 2020-06-16 15:58  classBug  阅读(99)  评论(0编辑  收藏  举报