北京百度Java岗面试真题(附答案)
岗位:Java高级
面试时间:10月10日
薪资:30*14
1.BeanFactory和ApplicationContext有什么区别
- >BeanFactory可以理解为含有bean集合的工厂类。.BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。
- >BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。.BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法(initialization methods)和销毁方法(destruction methods)。
- >从表面上看,application context如同bean factory一样具有bean定义、bean关联关系的设置,根据请求分发bean的功能。但application在此基础上还提供了其他的功能。
- >提供了支持国际化的文本消息
- >统一的资源文件读取方式
- >已在监听器中注册的bean的事件
2.Spring Bean的生命周期
- >Spring Bean 的生命周期简单易懂。在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。同样的,当一个bean不在被调用时需要进行相关的析构操作,并从bean容器中移除。
- >Spring bean factory负责管理在spring容器中被创建的bean的生命周期。bean的生命周期由两组回调(call back)方法组成。
- >初始化之后调用的回调方法。
- >销毁之前调用的回调方法。
- >Spring框架提供了以下四种方式来管理 bean 的生命周期事件;
- >InitializingBean 和 DisposableBean 回调接口
- >针对特殊行为的其他Aware接口
- >Bean配置文件中的Custom init()方法和destroy()方法
- >@PostConstruct和@PreDestroy注解方式