暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Spring架构

葡小萄与布小丁 2020-06-20
471


1. Spring 应用框架

1.1. 谈谈你对Spring框架的理解?

1) 开源而轻量级的框架提供事务支持、管理依赖的对象——整合资源、统一服务整合JDBCMyBatisHibernate等框架资源以更好的简化应用软件开发,降低软件开发周期

   2) spring的核心就是控制反转(IOC)和面向切面编程(AOP

3) 注入方式:构造器注入、 setter注入、注解注入

4) Spring 2.05.0版本在经历着不断的变化,已经由最初的IOC,AOP等发展到了现在的微服务Spring CloudSpring boot (IOC-面向对象,AOP-面向切面,Cloud-面向微服务)

1.2. 谈谈你对Spring框架中有哪些核心组件?

1) IOC  组件(控制反转容器):对象创建,对象存储,对象依赖管理

2) DATA 组件(整合JDBC,MyBatis,JPA,....)

3) MVC  组件(重点解决与表示层通讯问题)

4) AOP  组件(重点解决对象功能扩展问题)

5) ....


 

2. Spring 控制反转(IOC的理解)

简介:控制反转容器IOC:对象创建,对象存储,对象依赖管理


2.1. 谈谈你对Spring IOC 的实现思想的理解

1) 容器如何知道创建哪些对象(通过xml或注解方式告诉容器)

2) 容器如何构建这些类的对象(通过反射技术,Class.forName(""))

3) 容器如何存储这些对象?(通过Map容器进行存储)

2.2.Spring IOC项目构建基本步骤:

1. 创建maven项目

2. 添加spring 依赖(spring-context)及配置文件(spring-configs.xml)

3. 编写并配置java

4. 编写单元测试初始化容器,获取java对象.

运行结构图


 

3Spring Bean对象

3.1 谈谈你对Spring Bean 对象的构建方式的理解

Spring管理的所有对象都称之为Bean.有两种配置方法:

1) 基于xml进行配置

2) 一种基于注解进行配置.

3.2  Bean 对象的构建

Spring Bean对象的构建,提供了如下几种方式:

1) 直接通过构造方法

2) 通过类的静态工厂方法(例如CalendargetInstance方法)

3) 通过实例的实例方法构建对象(例如通过Calendar对象的getTime方法获取date对象).

4) 通过工厂的实例方法(调用FactoryBeangetObject方法)

 

3.3 谈谈你对Spring Bean 对象的作用域理解?

1) singleton :系统默认单例模式(只存在一个bean实例)

2) Prototype每次调用bean都会创建新的对象)

3) Session:

4) Global-session:

5) Request:  每次http请求创建bean

 

3.4 谈谈你对Spring Bean 对象的生命周期及生命周期方法?

生命周期是指Bean对象创建,初始化,服务,销毁的这个过程.一般都是打开调用时创建,关闭时销毁。

3.5 谈谈你对Spring Bean 对象中延迟加载思想的理解

spring框架应用,容器初始化时候,默认会构建所有spring管理的Bean对象.这些对象时间不使用还占用着内存就会造成一定的资源浪费.了解决这个问题,spring提供了一种延迟加载机制.通过这种机制来提高系统资源有效使用.

 


文章转载自葡小萄与布小丁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论