自己回答的一些面试题

来源:互联网 发布:java 创建文件夹失败 编辑:程序博客网 时间:2024/05/21 21:44

下面是网上的一些经典面试题,自己通过查阅资料总结了一下,不定期更新。。。

Spring

1.你为什么要用Spring?

Spring作为一个强大的mvc框架,不仅自身拥有完整的mvc模式设计,同时还能有效地融合当前主流框架。并且有效地减少的开发者的开发时间,而且对数据传输也是相对安全的。

2.请你聊一聊IOC/DI?

依赖注入和控制反转是Spring的两大基础作用及核心。

IOC:控制反转的概念既是Spring将获得依赖对象的过程从内部代码全权交给了外部容器。

DI:依赖注入的概念是IOC容器在运行期间动态的把依赖关系注入到对象中。

IOC和DI就是从不同的角度描述的同一件事:通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦

这么做的好处很明显,因为是从外部容器加载依赖关系,所以就使得代码之间耦合性降低,框架、类等之间的依赖性降低。

3.什么是声明式的事务管理?为什么要使用声明式的事务管理?Spring如何实现声明式的事务管理?

首先Spring是通过AOP面向切面的思想实现声明式事务的。其次声明式事务的概念是以方法为单位,在进行增,删,改操作的时候统一的进行事件提交或回滚。其判断标准为方法是否抛出异常。最后使用原因也很简单,主要由于我们不必去把事务管理写在代码中,只需要在配置文件中声明即可。

4.把spring和hibernate集成,定义事务管理特性的时候,为何要将除了添加、删除、更新操作之外的方法,即主要执行 查询任务的方法定义为read-only?

因为主要是增删改需要对数据库进行更改,而查询不需要,我们为查询定义只读可以提高效率。优化事务管理。

Hibeinate

1.请你谈谈你对OR映射的理解?

OR映射的概念既是将数据库里面的一个表映射成配置文件中的一个属性,方便程序调用。

2.很多人说Hibernate不适合大项目,性能有问题,你是如何理解的?

Hibernate属于大型的持久层框架,框架中含有非常多的封装,在永兴的时候会让SQL控制权降低,在不必要的操作上浪费时间。不过如果要是优化的好的话,也是可以在中小型项目使用的。

3.Hibernate为什么一定要定义一个数据库标识?

定义数据库标识可以使配置文件更简洁,并且在移植数据库的时候更加方便。

0 0
原创粉丝点击