Spring全家桶 面试题总结

*Spring全家桶*

*Spring:*

1、 *Spring是什么?*

Spring是一个轻量级Java开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于****应用程序的开发****。

2、 *spring的作用?*

Spring可以做很多事情,它为企业级开发提供了丰富的功能,方便解耦,简化开发,AOP编程支持,声明式事务支持,集成Junit更加方便的进行分层测试,方便集成各种优秀框架.

这些功能的底层都依赖它的两个核心特性D1,也就是依赖注入和面向切片编程AOP;

Spring通过IoC容器实现对象耦合关系的管理,并实现依赖反转,将对象之间的依赖关系交给IoC容器,实现解耦;

3、 *spring的优缺点是什么?*

*优点:*

ta有点很多,比如方便解耦、简化开发、

AOP编程支持方便的实现对程序进行权限拦截、运行监控等,

声明式事务支持:只需要配置就可以完成对事务的管理,不用手动编程,

集成Junit更加方便的进行分层测试,方便集成各种优秀框架.

*缺点:*

spring明明是一个轻量级框架,给人的感觉却是大而全,使用门槛升高,入门spring需要较长的时间,还有就是他的依赖反射影响性能;

4、 *Spring的应用场景:(了解)*

javaEE企业应用开发,包括ssm和ssh;

5、 *谈谈你对IOC的理解:*

IOC(控制反转)就是将原本在程序中手动创建对象的控制权,交由给Spring框架来管理。IOC在其他语言中也有应用,并非Spring特有。IOC容器是Spring用来实现IOC的载体,IOC容器实际上就是一个Map(key, value),Map中存放的是各种对象。

将对象之间的相互依赖关系交给IOC容器来管理,并由IOC容器完成对象的注入。这样可以很大程度上简化应用的开发,把应用从复杂的依赖关系中解放出来。IOC容器就像是一个工厂一样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何被创建出来的。在实际项目中一个Service类可能由几百甚至上千个类作为它的底层,假如我们需要实例化这个Service,可能要每次都搞清楚这个Service所有底层类的构造函数,这可能会把人逼疯。如果利用IOC的话,你只需要配置好,然后在需要的地方引用就行了,大大增加了项目的可维护性且降低了开发难度。

6、 *Spring框架中用到了哪些设计模式?(了解)*

工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例;

单例模式、代理模式;

7、 *spring中的通知是?*

通知是个在方法执行前或执行后要做的动作,Spring切面可以应用五种类型的通知,

before前置通知,在一个方法执行前被调用。

after后置通知:在方法成功完成后执行是否成功。

after-returning返回通知:当方法完成后执行的通知。

after-throwing异常通知:在方法抛出异常退出时执行的通知。

around环绕通知:在方法执行之前和执行之后调用的通知。

8、 *Spring支持的事务管理类型是?你更倾向用哪种事务管理类型?*

a、编程式事务管理是通过编程的方式管理事务,能带来极大的灵活性,但是难维护。

b、声明式事务管理,可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。

大多数Spring框架的用户选择声明式事务管理,因为它对应用代码的影响最小,因此更符合一个无侵入的轻量级容器的思想。声明式事务管理要优于编程式事务管理,虽然比编程式事务管理(这种方式允许你通过代码控制事务)少了一点灵活性。

9、 *Spring AOP*

AOP一般称为面向切面编程,它是对OOP面向对象编程的一种补充延伸、用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”,

他的好处在于减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。可用于权限认证、日志、事务处理等。

10、<

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的 Spring 全家桶面试题: 1. Spring 是什么?它的核心特性是什么? Spring 是一个开源的轻量级框架,它基于 Java 语言开发,旨在简化企业级应用程序的开发。Spring 的核心特性包括:IoC(控制反转)、AOP(面向切面编程)、MVC(模型-视图-控制器)等。 2. IoC(控制反转)是什么?它的实现方式有哪些? IoC(控制反转)指的是将对象的创建和依赖关系的管理交给 IoC 容器来完成。它的实现方式包括:XML 配置、注解、Java 配置等。 3. AOP(面向切面编程)是什么?它的应用场景有哪些? AOP(面向切面编程)指的是在不改变源代码的情况下,通过动态代理的方式对方法进行增强。它的应用场景包括:事务管理、日志记录、权限控制等。 4. Spring MVC(模型-视图-控制器)是什么?它的工作流程是怎样的? Spring MVC(模型-视图-控制器)是一种基于 Java 的 Web 框架,它采用 MVC 设计模式来实现分离应用程序的不同层。它的工作流程包括:用户发送请求、DispatcherServlet 接收请求、HandlerMapping 找到匹配的 Controller、Controller 处理请求并返回数据、ViewResolver 找到匹配的视图并返回给客户端。 5. Spring Boot 是什么?它的优点是什么? Spring Boot 是一个快速开发 Spring 应用程序的框架,它基于 Spring 框架,采用约定优于配置的方式来简化应用程序的开发。它的优点包括:快速开发、简化配置、自动装配、内置服务器等。 6. Spring Cloud 是什么?它的核心组件有哪些? Spring Cloud 是一个基于 Spring Boot 的微服务框架,它提供了一些常用的微服务组件,例如服务发现、服务治理、配置中心、负载均衡等。它的核心组件包括:Eureka、Ribbon、Feign、Hystrix、Zuul 等。 以上是一些常见的 Spring 全家桶面试题,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值