文章目录
- 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规范。
bean规范如下:
- 所有属性为private
- 提供默认构造方法
- 提供getter和setter
- 实现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)
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)集成时都有体现.