Java 框架面试可能问到的问题

Spring框架问题
1,什么是spring?
答:Spring是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。

2, 使用Spring框架的好处是什么?
答:
特点:
<1.方便解耦,简化开发
通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
<2.AOP编程的支持
通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。
❤️.声明事物的支持
在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
<4.方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。例如:Spring对Junit4支持,可以通过注解方便的测试Spring程序。
<5.方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。
<6.降低Java EE API的使用难度
Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。
<7.Java 源码是经典学习范例
Spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果。
好处:
<1 Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现Spring关注了遗留下的问题。Spring能消除在许多工程上对Singleton的过多使用。根据我的经验,这是一个主要的问题,它减少了系统的可测试性和面向对象特性。
<2 Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置
❤️ Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。
<4 Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。
<5 使用Spring构建的应用程序易于单元测试。
<6 Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。
<7 Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器,如果你仅仅需要与单个的数据库打交道,甚至不需要JTA实现。
<8 Spring为数据存取提供了一致的框架,不论是使用JDBC或O/R mapping产品(如Hibernate)。
<9 Spring确实使你能通过最简单可行的解决办法解决你的问题。这些特性是有很大价值的。
总结起来,Spring有如下优点:
< 1.低侵入式设计,代码污染极低
< 2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
< 3.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦
< 4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用
< 5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问
< 6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部

3, Spring由哪些模块组成?
答:核心容器模块、应用上下文模块Application context、AOP模块、JDBC抽象和DAO模块、O/R映射整合模块、Web模块、MVC框架模块。

4,核心容器(应用上下文) 模块?
答:这是基本的Spring模块,提供spring 框架的基础功能,BeanFactory 是 任何以spring为基础的应用的核心。Spring 框架建立在此模块之上,它使Spring成为一个容器。

5,BeanFactory – BeanFactory 实现举例?
答:Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真的应用代码中分离。
最常用的BeanFactory 实现是XmlBeanFactory 类。

6,XMLBeanFactory ?

7, 解释AOP模块?

8, 解释JDBC抽象和DAO模块?

9,解释对象/关系映射集成模块?

10, 解释WEB 模块?

12 ,Spring配置文件?

13,一个简单的Spring应用程序包括什么?
 答:这些应用程序像任何Java应用程序。它们是由多个类组成,每个类执行应用程序内的一个特定的功能。这些类的配置是通过一个XML文件向对方导入依赖。此XML文件描述如何配置类,称为Spring配置文件。

14,如何给Spring容器提供配置元数据?
答:有三种重要的方法给Spring 容器提供配置元数据:XML配置文件、基于注解的配置、基于Java的配置。

15,在Spring中如何注入一个Java集合?
答:spring提供以下几种集合的配置元素:
  类型用于注入一列值,允许有相同的值。
  类型用于注入一组值,不允许有相同的值。
  类型用于注入一组键值对,键和值都可以为任意类型。
  类型用于注入一组键值对,键和值都只能为String类型。

16, 在Spring框架中如何更有效地使用JDBC?
答:使用Spring JDBC框架,资源管理和错误处理的代价都会被减轻。所以开发者只需statements和queries从数据存取数据,JDBC也可以在Spring框架提供的模板类的帮助下更有效地被使用,这个模板叫JDBC Template 。

17, 如何通过HibernateDaoSupport将Spring和Hibernate结合起来?
答:用Spring的SessionFactory调用LocalSessionFactory。集成过程分三步:
配置the Hibernate Session Factory、
继承HibernateDaoSupport实现一个DAO、
在AOP支持的事务中装配。

18,解释一下Spring MVC框架及其控制器
答:Spring配备构建Web应用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts、Spring的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。
Java 框架面试可能问到的问题_第1张图片

Springmvc框架问题
1,简单的谈一下SpringMVC的工作流程?

2, 如何解决POST请求中文乱码问题,GET的又如何处理呢 ?

3, 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么 SpringMvc的是什么?

4, SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决 ?

5,SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?

6, @RequestMapping注解用在类上面有什么作用 ?

7, 怎么样把某个请求映射到特定的方法上面?

8,如果在拦截请求中,我想拦截get方式提交的方法,怎么配置 ?

9, 如果在拦截请求中,我想拦截提交参数中包含"type=test"字符串,怎么配置 ?

10, 如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?

11, 怎么样在方法里面得到Request,或者Session ?

12,SpringMvc中函数的返回值是什么?

13, SpringMvc怎么处理返回值的 ?

14,SpringMVC怎么样设定重定向和转发的?

15,SpringMvc用什么对象从后台向前台传递数据的?

16,SpringMvc中有个类把视图和数据都合并的一起的?
Java 框架面试可能问到的问题_第2张图片
Springcloud框架问题
1,什么是Spring Cloud?

2,使用Spring Cloud有什么优势?

3,服务注册和发现是什么意思?Spring Cloud如何实现?

4,负载平衡的意义什么?

5,什么是Hystrix?它如何实现容错?

6,什么是Hystrix断路器?我们需要它吗?

7,什么是Netflix Feign?它的优点是什么?

8, 什么是Spring Cloud Bus?我们需要它吗?
Java 框架面试可能问到的问题_第3张图片

Springboot框架问题
1,什么是Spring Boot?

2,Spring Boot有哪些优点?

3,什么是JavaConfig?

4,如何重新加载Spring Boot上的更改,而无需重新启动服务器?

5,Spring Boot中的监视器是什么?

6,如何在Spring Boot中禁用Actuator端点安全性?

7,什么是YAML?

8,如何实现Spring Boot应用程序的安全性?

9,如何集成Spring Boot和ActiveMQ?

10,如何使用Spring Boot实现分页和排序?
Java 框架面试可能问到的问题_第4张图片

感谢:https://blog.csdn.net/weixin_39571087/article/details/111640854

你可能感兴趣的:(笔记,java,spring,restful)