Spring面试问答

来源:互联网 发布:吉林师范大学教务网络 编辑:程序博客网 时间:2024/04/30 14:01

1、什么是Spring框架,Spring框架有哪些主要模块?

Spring框架是一个为Java应用程序开发提供基础性支持的Java平台,解决开发中的基础性问题,使开发人员可以专注于应用程序的开发。


2.使用IOC的好处

对象的创建和销毁无需考虑,由容器管理。

比如类A有类B、C、D三个成员变量。之前的方式,在new A之前,必须new B、C、D,这样,在使用A类时,还需要研究其他类的创建,如果B、C、D类不是自己编写的,还需要翻阅他们的API说明,研究它们如何创建,是new还是工厂模式还是单例模式。

使用Spring IOC,无需考虑B、C、D类的创建,直接从容器获得A类的实例然后使用。方便多人协调开发,提高开发效率。

调用关系发生变化,无需改代码,修改配置文件即可。统一配置,便于修改。

享受单例的好处,效率高,不让费资源。

3.ApplicationContext的实现

ClassPathXmlApplicationContext

FileSystemXmlApplicationContext 

XmlWebApplicationContext

4.Spring Bean的生命周期

在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。当一个bean不再被调用时需要进行相关的销毁操作,并从bean容器中移除。

Spring Bean Factory负责管理bean的生命周期。Bean的生命周期由两组回调方法组成。初始化之后调用的回调方法,销毁之前调用的回调方法。

Spring提供4种方式管理bean的生命周期:

InitializingBean和DisposableBean回调接口

针对特殊行为的其他Aware接口

Bean配置文件中的Custom init()方法和destroy()方法

@PostConstruct和@PreDestroy注解方式

使用customInit()和 customDestroy()方法管理bean生命周期的代码样例如下:

<beans>

<bean id="demoBean" class="com.howtodoinjava.task.DemoBean"

init-method="customInit" destroy-method="customDestroy"></bean>

</beans>

5.Spring Bean的作用域

singleton:单例。默认的。

prototype:原型。为每个bean请求提供一个实例。

request:为每个request请求创建一个实例

session:每个session中有一个bean的实例

global-session

6.自动装配

no

byName

byType

constructor

autodetect

7.Spring框架中使用了哪些设计模式

代理模式:AOP

单例模式:Spring Bean的作用域

模板方法

前端控制器

工厂模式:BeanFactory用来创建对象的实例

8.Spring的优点

轻量级

控制反转:实现松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。

面向切面编程:把应用的业务逻辑和系统的服务分离开来。

容器:容器管理对象的配置及生命周期。

MVC框架

事务管理

异常处理



0 0
原创粉丝点击