首页 > 其他分享 >【后端面经-Spring】Spring简介

【后端面经-Spring】Spring简介

时间:2023-07-25 19:14:46浏览次数:39  
标签:框架 Spring 端面 Bean 切面 简介 AOP IOC

【后端面经-Spring】Spring简介

目录

1. Spring简介

Spring是为了简化java项目开发设计的一款设计层面开源框架,其设计目的就是为了“简化开发”。
它使用分层架构,解决业务逻辑层和各层之间的松耦合。
核心特性:

  • IOC:控制反转;
  • AOP:面向切面编程;

2. Spring模块

Spring框架可分为如下所示的模块:

  • 核心容器(Core Container):核心容器提供Spring框架的基本功能;
  • 数据访问/集成(Data Access/Integration)
  • 网络(Web);
  • AOP模块和Aspects(切面);
  • 设备(Instrumentation);
  • 测试(Test);
    每个模块的详细介绍可参考此博客:Spring详解(一)----Spring框架介绍

3. Spring核心特性

  1. IOC
    IOC(Inversion of Control)即控制反转,是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。
    Spring框架在核心容器中的BeanFactory模块中使用了工厂模式创建Java对象,这些对象就是常说的“Bean”对象,对于Bean对象的生命周期、创建方式,在此不做赘述。
    DI(Dependency Injection)即依赖注入,是IOC的一种实现方式,即通过反射机制,将Bean对象的属性注入到Bean对象中。有两种注入方式:设值注入(通过setter方法进行设置,较为简单)、构造注入(可构造依赖注入的优先级,但是较为复杂)。
  2. AOP
    AOP(Aspect Oriented Programming)即面向切面编程,是一种编程思想,是对OOP(Object Oriented Programming)的补充,OOP是对业务逻辑的封装,而AOP是对业务逻辑的分离,即将业务逻辑和非业务逻辑分离,使得业务逻辑更加清晰。
    AOP将项目中的通用功能进行封装,形成独立切面从而复用。

4. Spring的后续拓展

Spring是由Rod Johnson于2003年创建的,目前已经发展到了Spring5.0版本。后来,在Spring框架的基础上,又引申出了SpringBoot、SpringCloud等框架,这些框架都是基于Spring框架的,是Spring框架的拓展。目前SpringBoot框架也是一个常用框架。
学习路径应如下所示:

Java基础-->设计模式-->Spring框架-->SpringMVC-->SpringBoot、SpringCloud

面试模拟

Q:介绍一下Spring,什么是IOC、AOP、JavaBean?
A:Spring是为了简化java开发而设计的设计层面开源框架,核心思想是控制反转和面向切面编程,其中,控制反转指的是原本由程序手动创建对象的权力交给spring框架,从而实现资源的集中管理,创建的对象使用依赖注入的思想传递给相关类,这些被创建的对象称为“Bean”对象;而面向切面编程指的是将项目中的通用功能进行封装,形成独立切面从而复用。

参考资料

  1. Spring详解(一)----Spring框架介绍
  2. Spring基础知识汇总 Java开发必看
  3. Spring开发-廖雪峰官方网站

标签:框架,Spring,端面,Bean,切面,简介,AOP,IOC
From: https://www.cnblogs.com/CrazyPixel/p/17580721.html

相关文章

  • 【后端面经-Java】Java基本概念
    【后端面经-Java】Java基本概念目录【后端面经-Java】Java基本概念1.面向对象和面向过程1.1概念1.2优缺点对比2.C++和Java的区别2.1"去其糟粕"——Java同学,你对C++的这些东西有什么意见?2.2改进之处————Java同学,你的这个论文,,,创新点是什么?面试模拟参考资料1.面向对象和......
  • BIRT-简介
    BIRT什么是BIRT​BIRT全称是BusinessIntelligenceReportingTool,是一款报表打印工具,用户可以通过Eclipse进行报表设计,然后通过java进行调用。​BIRT满足了大部分的报告需求,最主要的是他是开源的。为什么是用它​在开始学习BIRT之前,我们要明白为什么使用该报表......
  • Springboot初学
    Springboot学习:参考网页:https://blog.csdn.net/sunroyi666/article/details/951899381.下载maven,修改配置:参考网页:https://blog.csdn.net/a805814077/article/details/1005459282.创建springbootEureka:遇到问题;Cannotresolvesymbol'springframework'解决方法:检查maven......
  • springsession 配置redis集群
    SpringSession配置Redis集群教程1.流程概述在本教程中,我们将详细介绍如何使用SpringSession来配置Redis集群。整个流程可以总结为以下几个步骤:添加SpringSession和Redis依赖配置Redis集群连接信息配置SpringSession使用Redis集群测试SpringSession与Redis集群的连接......
  • springboot项目分层架构
    SpringBoot项目分层架构SpringBoot是一个用于构建Java应用程序的开源框架,它提供了快速开发的特性,使得开发人员可以更加专注于业务逻辑的编写。在开发一个SpringBoot项目时,良好的分层架构是非常重要的,它可以帮助我们更好地组织代码并提高项目的可维护性和可扩展性。本文将介绍一......
  • springbootredis集群配置
    SpringBootRedis集群配置在分布式系统中,Redis是一个常用的内存数据库,用于缓存和存储数据。Redis集群是多个Redis实例的组合,通过分片和复制技术,提供高可用性和可扩展性。本文将介绍如何在SpringBoot中配置Redis集群,并提供相应的代码示例。1.搭建Redis集群首先,我们需要搭建Red......
  • springboot2整合redis
    SpringBoot2整合Redis概述本文旨在指导刚入行的开发者如何在SpringBoot2中实现Redis的整合。Redis是一种高性能的内存数据库,常用于缓存、消息队列和分布式会话等场景。通过将Redis与SpringBoot2整合,我们可以更方便地使用Redis提供的各种功能。整合步骤下表......
  • springboot+javaCV
    实现springboot+javaCV的步骤1.创建SpringBoot项目首先,我们需要创建一个基于SpringBoot的Java项目。可以通过使用SpringInitializer来创建一个基本的项目结构。在创建项目时,我们需要添加合适的依赖项,以便使用JavaCV库。2.添加JavaCV依赖在创建的SpringBoot项目中,我们需要......
  • springboot redis 缓存数据
    SpringBootRedis缓存数据实现教程一、整体流程下面是实现SpringBootRedis缓存数据的整体流程:步骤操作1引入Redis依赖2配置Redis连接信息3创建缓存注解4使用缓存注解接下来,我将逐步介绍每个步骤需要做的事情,包括需要使用的代码以及代码的注释。二......
  • springboot mysql 配置 propertis
    SpringBootMySQL配置Properties在SpringBoot应用程序中,我们经常需要使用MySQL数据库来存储和检索数据。为了连接和配置MySQL数据库,我们可以使用application.properties文件。这篇文章将向您展示如何使用SpringBoot的application.properties文件来配置MySQL数据库连接。1.引......