文章目录

  • Bean含义
  • 实例化上下文对象及加载多个配置文件
  • 四种xml配置注入方式(??是四种还是三种接口注入)
  • 依赖配置:元素idref/ref
  • 依赖配置:内部对象(??)
  • 依赖配置:复合属性(??)
  • 依赖配置:配置集合
  • 依赖配置:bean的父子继承
  • PropertyPlaceholderConfigurer应用
  • XML简写p-namespace及c-namespace
  • 表达式语言(??Spring EL)
  • 延迟初始化lazy-init与depends-on
  • 自动装配Bean
  • 自动检测Bean(??)
  • 17 标题Bean作用域:单例和多例
  • 18 bean作用域:web作用域及配置
  • 19 作用域:使用代理
  • 20 bean作用域:理解Bean生命周期(那张图弄懂)
  • 21 Bean生命周期回调:初始化回调和销毁回调(回调的实际应用??)
  • 22容器扩展点:FactoryBean


Bean含义

概念1:Bean容器,或称spring ioc容器,主要用来管理对象和依赖,以及依赖的注入。

概念2:bean是一个Java对象,根据bean规范编写出来的类,并由bean容器生成的对象就是一个bean。

概念3:bean规范。

springsecurity 记住我 spring巧记忆方法_springsecurity 记住我


bean规范如下:

  1. 所有属性为private
  2. 提供默认构造方法
  3. 提供getter和setter
  4. 实现serializable接口

实例化上下文对象及加载多个配置文件

四种xml配置注入方式(??是四种还是三种接口注入)

依赖配置:元素idref/ref

依赖配置:内部对象(??)

依赖配置:复合属性(??)

依赖配置:配置集合

依赖配置:bean的父子继承

PropertyPlaceholderConfigurer应用

XML简写p-namespace及c-namespace

表达式语言(??Spring EL)

延迟初始化lazy-init与depends-on

自动装配Bean

自动检测Bean(??)

17 标题Bean作用域:单例和多例

Spring容器负责bean的生命周期,容器会调用构造函数初始化bean。调用析构函数清理释放bean。
但是对于多例模式,Spring容器就不会整个生命周期负责了,在初始化完成后,就交给调用他的程序,西沟释放都有调用他的程序负责。

18 bean作用域:web作用域及配置

19 作用域:使用代理aop:scoped-proxy/

20 bean作用域:理解Bean生命周期(那张图弄懂)

Spring启动bean:

1.BeanFactory

2.ApplicationContext(派生于BeanFactory)

springsecurity 记住我 spring巧记忆方法_springsecurity 记住我_02

21 Bean生命周期回调:初始化回调和销毁回调(回调的实际应用??)

三种方法:
1.实现接口方法
2.XML配置
3.使用注释
生命周期回调:
定义一个bean:

public class Foo {
        定义一个初始化的方法
        public void init(){
            System.out.println("init method is called");
        }
        定义一个销毁方法
        public void destory(){
            System.out.println("destroy method is called");    
        }
      
    }
--------------------- 
作者:谭超zhong 
来源:CSDN 
原文: 
版权声明:本文为博主原创文章,转载请附上博文链接!

这个bean与之前的bean相比,多配置了两个东西init-method和destory-method,同时这两个特性的值对应就是class中的方法。
初始化就是指初始化当前的bean
销毁就是指销毁当前的bean
生命周期就是指bean的生命周期
任何生命周期核心都是有class中的方法负责
那么关键问题是:
Spring容器来调用bean,bean来调用这些方法。
init方法在bean创建之后,
destory方法在容器甘比之前调用,这意味着bean都销毁了。就等于是bean关闭了

22容器扩展点:FactoryBean

  • 区分BeanFactory和BeanFactory:
    BeanFactory第制造Bean的工厂
    FactoryBean是一种Bean。
  • 那么注意FactoryBean和Bean区分:
    前者是工厂Bean,后者是普通的Bean,他们被容器管理。

1.当我们需要获取FactoryBean实例本身而不是它所产生的bean,则要使用&符号。
比如,现有FactoryBean,id为”playerBean”,在容器上调用getBean(“playerBean”)将返回FactoryBean产生的bean。调用getBean("&playerBean")将返回FactoryBean它本身的实例。

2.工厂Bean是实现了org.springframework.beans.factory.FactoryBean接口的Bean,从ApplicationContext的getBean()方法获取的对象不是该类的一个实例,而是该类的getObject()方法所返回的对象。

  • 应用
    在Spring框架内部,有很多地方有FactoryBean的实现类,它们在很多应用如(Spring的AOP、ORM、事务管理)及与其它第三框架(ehCache)集成时都有体现.