Spring IOC

一、IOC

  1. Why:降低对象间的耦合
  2. What:创建对象&注入依赖
  3. How:工厂模式 》 工厂+XML配置+反射 》 工厂+注解+反射

二、Spring IOC XML配置

  1. 创建对象:无参构造、有参构造、作用域、自动装配、延迟初始化
  2. 注入属性:p名称空间、空值和特殊符号
  3. 注入Bean:内外方式、级联赋值
  4. 注入集合:[],Java常用集合
  5. 外部属性配置文件
  6. 工厂Bean:创建的是其它Bean

三、Spring IOC 注解

  1. 创建对象:@Componet @Controller @Service @Repository @Lazy @Bean
    @Component 注解作用于类,而@Bean注解作用于方法
  2. 注入属性:@Value
  3. 注入Bean:@Autowired @Qualifier @Resource
  4. 注入集合:@Autowired; 对于向map中注入,bean注入后key为该bean的id。
  5. 零配置:@Configuration @ComponentScan
  6. 外部属性配置文件:@PropertySource
  7. Bean的生命周期:@PostConstruct=init @PreDestroy=destory,其它接口

四、Spring IOC 其它

1.Bean生命周期
  1. 只有这四个阶段:实例化 -> 属性赋值 -> 初始化 -> 销毁。
  2. 但Bean生命周期的扩展点可以划分为以下几类:
    1).Bean自身的方法:通过配置文件中<bean>的init-method和destroy-method指定的方法
    2).Bean级生命周期接口方法:这个包括了BeanNameAware、BeanFactoryAware、InitializingBean和DiposableBean这些接口的方法
    	Aware类型的接口的作用就是让我们能够拿到Spring容器中的一些资源。
    3).容器级生命周期接口方法:InstantiationAwareBeanPostProcessor实际上继承了BeanPostProcessor接口:作用于实例化阶段&初始化阶段的前后。
    4).工厂后处理器接口方法:这个包括了AspectJWeavingEnabler, ConfigurationClassPostProcessor, CustomAutowireConfigurer等等非常有用的工厂后处理器接口的方法。工厂后处理器也是容器级的。在应用上下文装配配置文件之后立即调用。
    
  3. 扩展点BeanPostProcessor和BeanFactoryPostProcessors的注册时机:在加载Bean前
2.Spring 中的 bean 的作用域有哪些?
  1. singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。
  2. prototype : 每次请求都会创建一个新的 bean 实例。
  3. request : 每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效。
  4. session : 每一次HTTP请求都会产生一个新的 bean,该bean仅在当前 HTTP session 内有效。
3. ?IoC源码阅读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值