Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

java aop面试_我想知道Spring在面试中应该怎么介绍,以及如何介绍他的aop?相关推荐

  1. security面试_精选41 道 Spring Boot 面试题,附答案!

    今天跟大家分享下SpringBoot 常见面试题的知识. 1 什么是springboot ? 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件 ...

  2. 蚂蚁金服 java电话面_蚂蚁金服前端电话面试(一面)

    1. 自我介绍 2. 介绍项目相关:如何技术选型,遇到最大的问题,如何解决问题,哪个项目让我学到最多,印象最深刻之类的. 3. 性能优化有哪些原则措施,减少http请求为什么能提高性能?有没具体实践过 ...

  3. python 调用bat失败_要想顺利通过Python面试,你最起码需要达到白银段位!

    近几年 Python 非常热门,在学术界和产业界的使用率显著提高.目前学习Python的人数日益增多,Python在近3年的编程语言受欢迎度中一直处于榜首.今天我们就来讲讲在产业界,需要具备哪些能力才 ...

  4. mybatis 配置_配置Mybatis在Spring Boot工程中的整合

    配置Mybatis在Spring Boot工程中的整合包,设置mybatis的实体类别名,输出执行sql语句配置项. 分析: 添加启动器依赖: 配置Mybatis:实体类别名包,日志,映射文件等: 配 ...

  5. 字节跳动 python面试_字节跳动数据分析实习岗面试全经历,竟然也会问这样的问题?...

    临近年底,又有不少人跃跃欲试想跳槽了. 但跳槽这个事说容易也容易,投简历总是有人要的,但说难也难,要进大厂,不光要看能力,更要看项目,看背景. 就怕辛辛苦苦准备半天,面试的时候没表现好,直接被刷掉,面 ...

  6. 宇视科技android面试_浙江宇视科技有限公司面试经验

    面试过程: 招聘平台收到的人事经理的面试邀约,简单交谈以后第二天就收到了公司HR的电话.效率还可以. 这次面试共计经历了现场面试一个HR面.一个技术主管面和一次终面.最终的面试结果是通过,薪资10K左 ...

  7. java websocket注解_【websocket】spring boot 集成 websocket 的四种方式

    集成 websocket 的四种方案 1. 原生注解 pom.xml org.springframework.boot spring-boot-starter-websocket WebSocketC ...

  8. java高级软件工程师面试_高级软件工程师的新面试问题

    java高级软件工程师面试 I'm putting together some practice interview questions for a friend who lost his job. ...

  9. java 头尾 队列_记一次腾讯面试,我挂在了最熟悉不过的队列上

    前记 面试官问:你了解队列和链表的区别吗? 我:了解,blabla 面试官又问:你能自己实现队列吗?具体讲讲怎么实现? 我当时说了用链表来实现队列的存储,并实现push和pop的操作,但回答的不具体, ...

最新文章

  1. c语言如何实现阶乘,求10000的阶乘(c语言代码实现)
  2. Android MVP模式 简单易懂的介绍方式
  3. c语言源码转流程图工具_C语言学习路线 (详细)
  4. solr analyzer_查看您的Solr缓存大小:Eclipse Memory Analyzer
  5. 记录水电开发的心理【2】
  6. Flink+Alink,当大数据遇见机器学习! 博文视点Broadview 前天
  7. CCNA 笔记-11
  8. 互联网行业概括,让我们熟悉和了解未来的工作环境
  9. 示坡线高程判断_地理示坡线
  10. 电子信息业取得长足发展 效益与质量同步提升
  11. 自我学习35:Log日志分析
  12. 科研画图都用什么软件
  13. php excel 进度,在php中生成Excel文件时显示进度条
  14. sqlmap中的tamper 脚本分析
  15. ppgs_extractor_10ms_sch_lh_xx封装接口
  16. ZJUT online OJ c++通关模拟题(problem1335-problem1516) 题解
  17. ABBYY FineReader Server 与杂乱无章的较量。我们的解决方案如何去除重复内容,让商业文档井井有条?
  18. k8s之ceph分布式存储
  19. 蓝桥杯—第八届—A组—第二题—跳蚱蜢 {C语言}=====【可调试】
  20. 文科生的反击——新书《你能做任何工作:“无用”的自由技艺的惊人力量》解读

热门文章

  1. 20160131-basic-linux-command
  2. SQL语句去连接两个表,内连接,左连接以及右连接
  3. Conda安装失败:Solving environment: failed with initial frozen solve. Retrying with flexible solve.
  4. 【深入Java虚拟机】之七:Javac编译与JIT编译
  5. python——tensorflow——ValueError:Shape(None,1)and (None,7) are incompatible
  6. 电视果 Android tv,电视果tv版
  7. JS高级 之 Proxy-Reflect 使用详解
  8. p设计一个Person类,属性有姓名、年龄、性别,创建方法personInfo,打印输出这个人的信息;创建Student类,继承Person类,属性有学院college,班级Group,重写父类Per
  9. ECMAScript6语法检查规范错误信息说明
  10. 用浅浅的幸福交换落寞的伤