⾯试题谈谈你对spring的理解
1、spring为什么出现。
spring的出现是为了解耦,我们在学习java初期,相信很多⼩伙伴都使⽤的是JSP+Servlet+MySQL+JDBC技术,在操作dao层的时候,每次都需要实例化⼀次,这样是不是就很繁琐;有的⼈可能使⽤单例模式来解决这个问题,但业务代码与单例模式的模板代码放在⼀个类⾥⽽且也会出现⼤量重复的单例模式的模板代码,耦合性较⾼,要知道java语⾔可是⾼内聚,低耦合的;所以伟⼤的Spring就出现了,也就是类似于数据库连接池的东西。下⾯着重介绍这个框架。
2、理解Spingcss常用样式有哪些
传统Java SE程序设计,我们直接在对象内部通过new进⾏创建对象或者getInstance等直接或者间接调⽤构造⽅法创建⼀个对象;⽽在Spring模式中,Spring容器使⽤了⼯⼚模式为我们创建了所需要的对象(这个过程就是DI通过setter⽅法在配置中注⼊对象),我们使⽤时不需要⾃⼰去创建,直接调⽤Spring为我们提供的对象即可,这就是控制反转的思想。实例化⼀个java对象有三种⽅式:使⽤类构造器,使⽤静态⼯⼚⽅法,使⽤实例⼯⼚⽅法,当使⽤spring时我们就不需要关⼼通过何种⽅式实例化⼀个对象,spring通过控制反转机制⾃动为我们实例化⼀个对象。
borderland是什么地图3、⾯向切⾯AOPmysql面试题及讲解
在⾯向对象编程(OOP)思想中,我们将事物纵向抽象成⼀个个的对象。⽽在⾯向切⾯编程中,我们将⼀个个对象某些类似的⽅⾯横向抽象成⼀个切⾯,对这个切⾯进⾏⼀些如权限验证,事物管理,记录⽇志等公⽤操作处理的过程就是⾯向切⾯编程的思想。
4、Spring⽀持的⼏种bean的作⽤域。
Spring框架⽀持以下五种bean的作⽤域: singleton : bean在每个Spring ioc 容器中只有⼀个实例。 prototype:⼀个bean的定义可以有多个实例。 request:每次http请求都会创建⼀个bean,该作⽤域仅在基于web的Spring ApplicationContext情形下有效。session:在⼀个HTTP Session中,⼀个bean定义对应⼀个实例。该作⽤域仅在基于web的Spring ApplicationContext情形下有效。global-session:在⼀个全局的HTTP Session中,⼀个bean定义对应⼀个实例。该作⽤域仅在基于web的Spring ApplicationContext情形下有效
5、使⽤Spring框架的好处是什么。
轻量:Spring 是轻量的,基本的版本⼤约2MB。 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,⽽不是创建或查依赖的对象们。 ⾯向切⾯的编程(AOP):Spring⽀持⾯向切⾯的编程,并且把应⽤业务逻辑和系统服务分开。 容器:Spring 包含并管理应⽤中对象的⽣命周期和配置。 MVC框架:Spring的WEB框架是个精⼼设计的框架,是Web框架的⼀个很好的替代品。 事务reactnative开发游戏
管理:Spring 提供⼀个持续的事务管理接⼝,可以扩展到上⾄本地事务下⾄全局事务(JTA)。 异常处理:Spring 提供⽅便的API把具体技术相关的异常(⽐如由JDBC,Hibernate or JDO抛出的)转化为⼀致的unchecked 异常。
6、spring配置bean实例化有哪些⽅式。
1)使⽤类构造器实例化(默认⽆参数)
ascii码大小排序怎么记<bean id="bean1"class="cn.itcast.spring.b_instance.Bean1"></bean>
2)使⽤静态⼯⼚⽅法实例化(简单⼯⼚模式)
//下⾯这段配置的含义:调⽤Bean2Factory的getBean2⽅法得到bean2
nginx面试题及调优<bean id="bean2"class="cn.itcast.spring.b_instance.Bean2Factory"factory-method="getBean2"></bean>
3)使⽤实例⼯⼚⽅法实例化(⼯⼚⽅法模式)
//先创建⼯⼚实例bean3Facory,再通过⼯⼚实例创建⽬标bean实例
<bean id="bean3Factory"class="cn.itcast.spring.b_instance.Bean3Factory"></bean>
<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论