`
wade6
  • 浏览: 270152 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

学习Spring前必须了解的知识点

 
阅读更多

文章摘自:http://blog.163.com/flm_llx/blog/static/27120712200791862322809/

 

 

学习Spring前必须了解的知识点

 

 

  • 轻量级(Lightweight)

    轻量级的形容是相对于一些重量级的容器(如EJB容器)来说的,Spring的核心包在文件容量上只有不到1MB的大小,而使用Spring核心包所需要的资源负担也是很小的,您甚至可以在小型设备中使用Spring的核心包。

 

  • 非入侵性(No intrusive)

    框架原来的用意是提供一个架构的实现,让开发人员可以在基于框架的基础上,快速地开发出遵循架构的所需的应用程序,然而有些框架一旦被使用,应用程序就与框架发生了依赖,例如大量使用了框架的API,或直接继承API的某些类型等,都会使应用程序组件与框架发生依赖,而无法从框架中独立出来,更别说当中的组件可以直接重用到另一个应用程序之中。

    Spring的目标之一是实现一个非侵入性(No intrusive)框架,希望让应用程序几乎感受不到框架的存在,减低应用程序在框架移植时的负担,进一步增加应用程序组件的可重用性(Reusability),简单地说,使用Spring的话,应用程序中某些组件可以直接拿到另一个应用程序或框架之中直接使用。

 

  • 容器(Container)

    Spring提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype方式或Singleton方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。

    换个更直白的说明方式:容器是一个Java所编写的程序,原先必须自行编写的程序以管理对象关系,现在容器都会自动帮您作好。

 

  • IoC(Inversion of COntrol)

    Spring最重要的核心概念是Inversion of Control,中文常译为“控制反转”,更具体的另一个名词是Dependency Injection,中文常译为“依赖注入”;使用Spring,您不必自己在程序代码中维护对象的依赖关系,只需要在配置文件中加以设定,Spring核心容器会自动根据配置将依赖注入指定的对象。

 

  • AOP(Aspect-oriented programming)

    Spring最被人重视的另一方面是支持AOP(Aspect-oriented programming)的实现,然而AOP框架只是Spring支持的一个子框架,说Spring框架是AOP框架并不是一个适当的描述,人们对与AOP的关注反映至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特点。

    举个实际的例子来说明AOP的功能之一,假设您有个日志(Logging)的需求,您可以无须修改任何一行程序代码,就可以将这个需求加入至原先的应用程序之中,而若您愿意,也可以在不修改任何程序的情况下,将这个日志功能移除。

    Spring的IoC容器功能与AOP功能的实现是其重心所在,在Spring下实现了持久层、MVC Web框架以及各种企业服务的API封装,它们的实现有些依重于Spring的IoC容器与AOP功能,Spring的这些子框架或封装的API功能彼此可以独立,也可以结合其他的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案。

 

  • 持久层

    Spring提供对持久层的整合,如对JDBC的使用加以封装与简化,提供事务(Transaction)管理功能,对于O/R Mapping工具(HIbernate、iBATIS)的整合,Spring也提供了解决的方案。

 

  • Web框架

    Spring也提供MVC Web框架的解决方案,使用Spring Web框架的好处是可以善用IoC与AOP的功能,您甚至可以轻松地替换使用不同的View层技术,例如使用JSP、结合Tiles、使用PDF作为展现给使用者的画面技术。

    也可以将自己所熟悉的Web框架与Spring整合,例如Struts、JSF等,都可以与Spring整合,而适应于当前所进行的应用程序。

 

  • 其他企业服务的封装

    对于一些服务,例如JNDI、Mail、任务计划(Scheduling)、远程(Remoting)等,Spring不直接提供实现,而是采取抽象层方式对这些服务进行封装,让这些服务在使用时可以有一致的使用模型,并且在使用上更为简化。

分享到:
评论

相关推荐

    Spring Cloud知识点学习思维导图

    关于Spring Cloud知识点而整理出的思维导图,可以快速了解其使用方式,其中包括服务管理、消息代理、网关等知识点

    java面试笔试资料包括JAVA基础核心知识点深度学习Spring面试题等资料合集.zip

    java面试笔试资料包括JAVA基础核心知识点深度学习Spring面试题等资料合集: JAVA核心知识点整理-282页 Java与哈希算法.docx Java中Lambda表达式的使用.docx JAVA多线程之线程间的通信方式.docx Java注解详解.docx ...

    spring学习视频.doc

    spring 学习视频可以学习spring有用的知识点适合有一些有开发经验的学习,加深学习深度和对所用技术的了解

    Spring从入门到精通 源码

    本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本章内容,然后再详细讲解本章涉及的基本原理和知识点,最后再通过一个详细的示例宋巩固所学内容。 本书每一章的例子都是经过精挑细选,...

    Spring从入门到精通(珍藏版)

    本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本章内容,然后再详细讲解本章涉及的基本原理和知识点,最后再通过一个详细的示例宋巩固所学内容。 本书每一章的例子都是经过精挑细选,...

    个人知识管理系统 Struts2.0 + Spring + Hibernate

    每天面对大量的知识,时间一长,容易造成某些知识点的生疏或者遗忘,本系统方便对知识进行分类收录,并结合人类遗忘规律,及时对相应的知识点进行提示复习。 提示复习的时间分别是: 第一次:10 分钟, 第二次:30...

    2023年1月最新spring面试题

    适用人群:适合想了解或学习Spring的 IT 学生、开发人员、研究人员以及使用Spring进行开发的任何人。 能学到什么:常见Spring面试问题及在相关场景下如何处理和解决这些问题。 阅读建议:通过快速阅读全文并在...

    Spring面试题【面试题大整合】(含答案)

    适用人群:适合想了解或学习Spring的 IT 学生、开发人员、研究人员以及使用Spring进行开发的任何人。 能学到什么:常见Spring面试问题及在相关场景下如何处理和解决这些问题。 阅读建议:通过快速阅读全文并在过程...

    springboot_study-master.zip

    基础篇(01—10课)主要介绍 Spring Boot 在项目中最常使用的一些功能点,旨在带领学习者快速掌握 Spring Boot 在开发时需要的知识点,能够把 Spring Boot 相关技术运用到实际项目架构中去。该部分以 Spring Boot ...

    Java Web开发中的Spring Boot漫画阅读平台,用于帮助开发者学习和实践基于Spring Boot的漫画阅读系统

    系统旨在提供一个实践和学习的平台,帮助我们完成毕业设计,并提升相关技能和知识水平。系统包括用户管理、漫画管理、同人插画管理、漫画活动管理、商品管理、论坛管理、收藏管理、留言板管理和系统管理等功能模块,...

    个人知识管理系统 Struts2 + Spring + Hibernate

    每天面对大量的知识,时间一长,容易造成某些知识点的生疏或者遗忘,本系统方便对知识进行分类收录,并结合人类遗忘规律,及时对相应的知识点进行提示复习。 提示复习的时间分别是: 第一次:10 分钟, 第二次:30...

    JAVA面试题及知识点整理

    Java、大数据各种组件面试题及知识点总结。设计Web开发到大数据架构,含34个大技术点。 JVM,JAVA基础,Java集合,Java多线程并发开发,Spring原理、微服务架构、Netty与RPC、网络相关、日志相关、Zookeeper、Kafka...

    MyBatis学习导图和资源

    有关Mybaits的学习路线与知识点,压缩包中有相关word文档(尚硅谷的学习笔记),含有相关的源代码(模块使用了父子关系),使用了maven工程的创建方式,mysql数据库,idea开发工具。 含有Mybaits官网中的使用手则。 ...

    Java毕业设计-基于ssm框架开发的小学生课外知识学习网站+vue-毕业论文(附源代码).rar

    它涵盖了多个学科领域的知识点,以图文并茂的方式展现,旨在激发孩子们的学习兴趣,拓宽他们的知识视野。同时,网站还提供了互动学习功能,如在线测试、学习打卡等,让孩子们在轻松愉快的氛围中巩固所学知识。 在...

    基于SSM+vue小学生课外知识学习网站+vue(源码+部署说明+演示视频+源码介绍).zip

    这是一个基于SSM(Spring、SpringMVC、MyBatis)框架和Vue前端技术栈的小学生课外知识学习网站的源码资源包。该资源包包含了完整的项目源码、部署说明、演示视频以及源码介绍,旨在帮助用户快速搭建和运行一个功能...

    学习植树.xmind

    本人学习之处的一些总结,其中包含了Java,Spring,Spring Boot,Spring Cloud,Redis,MySQL,MyBatis,MQ,还有一些我认为我之后应该了解的知识点

    个人信息管理系统Struts2 spring hibernate dwr

    每天面对大量的知识,时间一长,容易造成某些知识点的生疏或者遗忘,本系统方便对知识进行分类收录,并结合人类遗忘规律,及时对相应的知识点进行提示复习。 提示复习的时间分别是: 第一次:10 分钟, 第二次:30...

    2023年经典dubbo面试题

    适用人群:适合想了解或学习Spring的 IT 学生、开发人员、研究人员以及使用Spring进行开发的任何人。 能学到什么:常见Spring面试问题及在相关场景下如何处理和解决这些问题。 阅读建议:通过快速阅读全文并在过程...

    2023年1月最新dubbo面试题

    适用人群:适合想了解或学习Spring的 IT 学生、开发人员、研究人员以及使用Spring进行开发的任何人。 能学到什么:常见Spring面试问题及在相关场景下如何处理和解决这些问题。 阅读建议:通过快速阅读全文并在过程...

    java 学习方向 个人整理

    先学习j2se,html, css, javascript, sql数据库的知识 再学习jsp, javabean, servlet开发 再学习使用struts2, hibernate, spring架构开发 最好再学点ajax应用,或者了解一下ejb

Global site tag (gtag.js) - Google Analytics