`

(转)Spring概念性问题

 
阅读更多

强调在回答的时候不要光回答概念,要思维扩散性的讲些相关的东西 

spring 的优点? 
1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 
2.可以使用容易提供的众多服务,如事务管理,消息服务等 
3.容器提供单例模式支持 
4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 
5.容器提供了众多的辅助类,能加快应用的开发 
6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 
7.spring属于低侵入式设计,代码的污染极低 
8.独立于各种应用服务器 
9.spring的DI机制降低了业务对象替换的复杂性 
10.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部 

什么是DI机制? 
依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色 
需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中 
创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 
因此也称为依赖注入。 
spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。 
设置注入的优点:直观,自然 
构造注入的优点:可以在构造器中决定依赖关系的顺序。 

什么是AOP? 
面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面 
1.面向切面编程提供声明式事务管理 
2.spring支持用户自定义的切面 

面向切面编程(aop)是对面向对象编程(oop)的补充, 
面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。 
AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象, 
是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。 

aop框架具有的两个特征: 
1.各个步骤之间的良好隔离性 
2.源代码无关性

分享到:
评论

相关推荐

    25个经典的Spring面试问题包含答案

    这篇文档“25个经典的Spring面试问题包含答案”旨在帮助求职者和开发者更好地理解Spring的核心概念和实际应用。以下是对这些问题的详细解读: 1. **什么是Spring框架?** Spring是一个开源的Java平台,它为构建...

    spring 重要的概念讲解

    本文将深入讲解Spring中的重要概念,包括AOP(面向切面编程)、DI(依赖注入)和IOC(控制反转)。 首先,Spring的轻量级特性体现在其核心包体积小,资源需求低,适合各种规模的应用,特别是小型设备。轻量级意味着...

    springcloud项目,解决unknown问题

    首先,让我们了解Spring Cloud和Spring Boot的核心概念。Spring Boot是一个用于简化Spring应用初始搭建以及开发过程的框架,它通过默认设置,让开发者可以快速启动项目,而无需过多的配置。Spring Cloud则是在Spring...

    Spring攻略PDF版

    Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 控制反转和容器   1.1 使用容器管理组件   1.1.1 问题描述   1.1.2 解决方案   1.1.3 实现方法  ...

    Spring攻略中文版PDF

    Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 控制反转和容器   1.1 使用容器管理组件   1.1.1 问题描述   1.1.2 解决方案   1.1.3 实现方法  ...

    Spring AOP面向方面编程原理:AOP概念

    ### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)逐渐暴露出难以应对某些横切关注点(cross-cutting concerns)的问题。为了解决这一挑战,面向方面编程...

    Spring5.pdf

    控制反转(IOC)是Spring的核心概念之一,通过反转对象的创建和维护过程,由Spring容器来管理对象的生命周期,实现解耦。这种方式减少了代码的依赖性,使得面向对象设计变得更加灵活。 面向切面编程(AOP)是另一种...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    6. **监控和日志**:为了保证系统的健壮性,应设置合适的监控和日志记录,以便在出现问题时能够快速定位。 在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring...

    Spring 揭秘 全面 深入了解Spring

    Spring是Java企业级应用开发中的基石,它以其模块化、易用性和强大的功能深受开发者喜爱。这本书详细阐述了Spring的核心概念、工作原理以及在实际项目中的应用,是Spring开发者的必备读物。 首先,Spring框架的核心...

    spring常见问题

    本文将对 Spring 框架中的常见问题进行详细的解析,涵盖框架的核心概念、依赖注入、AOP技术、动态代理、自动装配等方面。 Spring 是一个开源的IOC和AOP框架,能够简化 JavaEE 开发。Spring 的核心是 IOC(控制反转/...

    Spring 简介 Spring 简介

    本节将详细介绍Spring的基本概念、特点以及它如何作为一个容器和框架来工作。 首先,Spring 是一个开源的Java框架,由Rod Johnson创建,最初是为了应对EJB(Enterprise JavaBeans)在企业应用开发中带来的复杂性。...

    Spring攻略英文版(附带源码)

    Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 控制反转和容器   1.1 使用容器管理组件   1.1.1 问题描述   1.1.2 解决方案   1.1.3 实现方法   1.2...

    Spring Framework 6 中文文档

    Spring Framework 6.0.8-SNAPSHOT 的中文文档是针对这一最新版本的详尽指南,旨在解决中文互联网上关于Spring框架翻译不准确、更新滞后的问题。文档通过Deepl AI 翻译并进行了人工校验,确保了内容的准确性和专业性...

    精通spring - Mastering Spring.pdf

    根据提供的信息来看,本次的任务是围绕“精通Spring”这一主题展开深入探讨,但由于给定的部分内容与主题不符,主要涉及一个二手书籍交易平台的信息,这里我们将忽略这部分内容,转而聚焦于Spring框架的核心概念、...

    Spring 动态模型(Spring Dynamic Modules)参考指南

    1. **概念与语义**:Spring Dynamic Modules 定义了一系列概念和语义,包括Dynamic Module扩展Bundle和OSGi MANIFEST头条目等,这些都为开发者提供了清晰的指导。 2. **语法规范**:Spring Dynamic Modules 使用特定...

    Spring技术内幕:深入解析Spring架构与设计原理[汇编].pdf

    本文将深入解析Spring架构和设计原理,对Spring的核心概念、架构设计和关键技术点进行详细介绍。 1. Spring架构设计原理 Spring架构设计的核心思想是松耦合和高内聚,通过将应用程序分解为多个模块,来提高系统的...

    Spring Spring

    这个学习资料和文件包很可能是为了帮助开发者深入理解Spring框架的核心概念和实践技巧。 1. **Spring框架概述** Spring 是一个开源的Java平台,它提供了全面的应用程序开发框架,减少了Java EE(现在称为Java EE或...

    spring4.0框架demo

    本文将围绕一个基于Maven构建的Spring 4.0框架Demo,深入探讨其核心概念、配置与实践。 一、Spring 4.0的关键特性 1. Java 8支持:Spring 4.0开始全面支持Java 8,包括Lambda表达式和日期时间API,这使得代码更加...

    Spring Security in Action

    SecurityContext 是 Spring Security 中的一个重要概念,表示当前用户的安全上下文。SecurityContext 中包含用户的身份信息、权限信息等。SecurityContext 是通过 SecurityContextHolder 实现的。 五、Spring ...

    springcloud视频学习

    通过这两部视频的学习,开发者不仅能深入理解SpringCloud的基本概念和核心组件,还能通过实战案例提升微服务开发和管理的能力。无论是初学者还是有经验的开发者,都能从中受益匪浅,进一步提升自己的微服务架构设计...

Global site tag (gtag.js) - Google Analytics