JAVA框架之面试随笔

spring

spring的概念:

Spring是一个一站式轻量级的开源框架。有IOC和AOP两大核心功能。Spring可以出色的整合众多第三方开源的框架和类库。

spring IOC 和 I DI 的理解,它们有什么区别

***IoC *** nverse of Control 反转控制的概念,就是将原本在程序中手动创建
UserService 对象的控制权,交由 Spring 框架管理,简单说,就是创建
UserService 对象控制权被反转到了 Spring 框架
DI:Dependency Injection 依赖注入,在 Spring 框架负责创建 Bean 对象
时,动态的将依赖对象注入到 Bean 组件

spring 配置 n bean 实例化有哪些方式?

1)使用类构造器实例化(默认无参数)

2)使用静态工厂方法实例化(简单工厂模式)

下面这段配置的含义:调用 Bean2Factory 的 getBean2 方法得到 bean2

<bean id="bean3Factory" class="cn.itcast.spring.b_instance.Bean3Factory"></be
an>
<bean id="bean3" factory-bean="bean3Factory" factory-
method="getBean3"></bean>

3)使用实例工厂方法实例化(工厂方法模式)

<bean id="bean3Factory" class="cn.itcast.spring.b_instance.Bean3Factory"></be
an>
<bean id="bean3" factory-bean="bean3Factory" factory-
method="getBean3"></bean>

spring 的生命周期

①instantiate bean 对象实例化
②populate properties 封装属性
③如果 Bean 实现 BeanNameAware 执行 setBeanName
④如果 Bean 实现 BeanFactoryAware 或者 ApplicationContextAware 设置工
厂 setBeanFactory 或者上下文对象 setApplicationContext
⑤如果存在类实现 BeanPostProcessor(后处理 Bean) ,执行
postProcessBeforeInitialization,BeanPostProcessor 接口提供钩子函数,用来动态扩展修
改 Bean。(程序自动调用后处理 Bean)
⑥如果 Bean 实现 InitializingBean 执行 afterPropertiesSet
⑦调用 指定初始化方法 init
⑧如果存在类实现 BeanPostProcessor(处理 Bean) ,执行
postProcessAfterInitialization
⑨执行业务处理
⑩如果 Bean 实现 DisposableBean 执行 destroy
⑪调用 指定销毁方法 customerDestroy

猜你喜欢

转载自blog.csdn.net/weixin_43691942/article/details/84061219