java web(ssm)简答题 考前总结——不详细,但好背

1、 请简述Spring框架的优点。

Spring框架的优点如下:
(1)非侵入式设计,它可以使应用程序代码对框架的依赖最小化。
(2)方便解耦、简化开发,将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大的降低了组件之间的耦合性。
(3)支持AOP:Spring提供了对AOP的支持,提高了程序的复用性。
(4)支持声明式事务处理:只需要通过配置就可以完成对事务的管理,而无需手动编程。
(5)方便程序的测试:Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。
(6)方便集成各种优秀框架
(7)降低了Java EE API的使用难度

2、 请简述什么是Spring的IoC和DI。

IoC:控制反转。就是指在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器来控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转

DI:依赖注入。它与控制反转(IoC)的含义相同,只不过这两个称呼是从两个角度描述的同一个概念。从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是Spring的依赖注入。

3、 请简述Bean的生命周期。

Bean的生命周期的整个执行过程描述如下。

  1. 实例化Bean
  2. 利用依赖注入来完成Bean中所有属性值的配置注入
  3. 根据Bean中不同的接口,Spring调用不同的方法。

4、 请简述Bean的几种装配方式的基本用法

Bean中主要包含三种装配方式,分别为基于XML的装配基于Annotation的装配自动装配,这三种装配方式的用法如下:

  1. 基于XML的装配:Spring提供了2种基于XML的装配方式:设值注入和构造注入
    设置注入:Bean类必须提供一个默认的无参构造方法,同时为需要注入的属性提供对应的setter方法。在Spring配置文件中,需要使用< bean >元素的子元素< property >来为每个属性注入值。
    构造注入:在配置文件里,需要使用< bean >元素的子元素< constructor-arg >来定义构造方法的参数,可以使用其value属性(或子元素)来设置该参数的值。
  2. 基于Annotation的装配:首先需要使用@Repository、@Service与@Constroller分别对实现类进行标注,然后用@Autowired或@Resource注解对注入的Bean的属性进行标注,最后在Spring的配置文件中,通过<context:annotation-config />来开启注解处理器,或使用<context:component-scan base-package="Bean所在的包路径"/>的配置方式即可实现Annotation的装配。
  3. 自动装配:在< bean >元素中使用autowire属性,并将其属性值设置为byName或者byType即可实现自动装配。

5、 spring属性注入有哪几种方式?

(1)接口注入:在接口中定义要注入的信息,并通过接口完成注入;
(2)构造注入:使用构造方法注入实例;
(3)set注入:使用set方法注入实例,最常用。

6、 BeanFactory和ApplicationContext关系如何?

BeanFactory:是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能
ApplicationContext:应用上下文,继承BeanFactory接口,它是Spring的一各更高级的容器,提供了更多的有用的功能

4、 请简述Spring AOP的概念?

AOP(面向切面编程),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续。

5、 请列举你所知道的AOP专业术语并解释。

AOP的专业术语包括Aspect、Joinpoint、Pointcut、Advice、Target Object、Proxy和Weaving
(1)Aspect(切面):在实际应用中,切面通常是指封装的用于横向插入系统功能(如事务、日志等)的类。
(2)Joinpoint(连接点):在程序执行过程中的某个阶段点,它实际上是对象的一个操作,例如方法的调用或异常的抛出。在Spring AOP中,连接点就是指方法的调用。
(3)Pointcut(切入点):是指切面与程序流程的交叉点,即那些需要处理的连接点,如图3-2所示。通常在程序中,切入点指的是类或者方法名,如某个通知要应用到所有以add开头的方法中,那么所有满足这一规则的方法都是切入点。
(4)Advice(通知/增强处理):AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。可以将其理解为切面类中的方法,它是切面的具体实现。
(5)Target Object(目标对象):是指所有被通知的对象,也被称为被增强对象。如果AOP框架采用的是动态的AOP实现,那么该对象就是一个被代理对象。
(6)Proxy(代理):将通知应用到目标对象之后,被动态创建的对象。
(7)Weaving(织入):将切面代码插入到目标对象上,从而生成代理对象的过程。

6、 请列举你所知道的Spring的通知类型并解释。

Spring中的通知按照在目标类方法的连接点位置,可以分为以下5种类型:
(1)org.aopalliance.intercept.MethodInterceptor(环绕通知
在目标方法执行前后实施增强,可以应用于日志、事务管理等功能。
(2)org.springframework.aop.MethodBeforeAdvice(前置通知
在目标方法执行前实施增强,可以应用于权限管理等功能。
(3)org.springframework.aop.AfterReturningAdvice(后置通知
在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能。
(4)org.springframework.aop.ThrowsAdvice(异常通知
在方法抛出异常后实施增强,可以应用于处理异常记录日志等功能。
(5)org.springframework.aop.IntroductionInterceptor(引介通知
在目标类中添加一些新的方法和属性,可以应用于修改老版本程序(增强类)

7、 请简述Spring JDBC是如何进行配置的。

在Spring的配置文件中配置JDBC时,需要定义了三个Bean,分别是dataSource、jdbcTemplate和需要注入类的Bean。在定义jdbcTemplate时,需要将dataSource注入到jdbcTemplate中,而其他需要使用jdbcTemplate的Bean,也需要将jdbcTemplate注入到该Bean中。

8、请简述不同对象之间的三种关联关系。

一对一:在本类中定义对方类型的对象
一对多:一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a
多对多:就是在A类中定义B类类型的集合,在B类中定义A类类型的集合。

9、请简述MyBatis关联查询映射的两种处理方式。

嵌套查询:通过执行另外一条SQL映射语句来返回预期的复杂类型;
嵌套结果:是使用嵌套结果映射来处理重复的联合结果的子集。

10、请简述引入SQL文件的过程

(1)创建数据库;
(2)选择所创建的数据库;
(3)使用source命令导入数据库文件

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>