Spring1-基础知识

真不知道我是太饿了 还是太饿了 还是太饿了,文章标题是Spring1-基础知识我尽然打成了鸡翅.

这一篇文章说白了就是洗脑的,让你知道Spring有多好,当然他本来就很好,学起来也别其它框架要简单,例如hibernate,struts等.
但是如果要深入了解他的代码却有点困难,当然我觉得是有点吃力的.
好了废话不多说,我们开始吧.

基础知识

什么是Spring

这里我给大家找了三家网站收集的面试题
并发编程网 - ifeve.com
importnew
oschina
至于说我为什么要找这三篇呢,因为在谷歌第一页的前几条嘛.
这三个面试题都有提到过什么是Spring,但是他们的说的都不一样.那么可能有人要问,对于初学者来说我到底记住那个答案呢?
对于这种理论的,我个人认为没有统一的答案全靠自己的理解,所以我对这种理论的东西都是先不去管,等我学完了后再根据自己的理解做总结,最后在谷歌所搜看看别人是怎么理解的.
那废话了这么多,我还是说一下我个人对Spring的理解吧.
Spring就是基于IOC和AOP的一个框架,并且为我们提供了一些基础解决方案,例如事务控制.

控制反转和依赖注入

控制反转(Inversion of Control),简称IoC.同时控制反转也叫做依赖注入.它们两个是一样.
有人可能就是不觉得它们是一样的,就觉得控制反转就是控制反转,依赖注入就是依赖注入.
他们可能认为控制反转就是,我们不使用new关键字来创建对象,而是让Spring帮我们创建对象和管理对象的生命周期,当我们用到这个对象的时候就从IoC容器中取出.事实上这是对的.我们的IoC容器就是帮我们做这个事情的.
然而他们又认为,依赖注入是让对象初始化的时候,这个对象中用到哪些对象就将哪些对象注入到此对象想中,就像我们后面要说的注入SessionFactory一样.
额...这样理解我不知道是不是正确的,但是我推荐大家看一下Spring官方文档推荐的一片文章Inversion of Control Containers and the Dependency Injection pattern这是一篇英文文章,当然国内有大神已经将它翻译为中文了IoC容器和Dependency Injection模式.总之我个人觉得非常不错,老人的经验之谈.

AOP

AOP面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护.
也就是说我们可以将一些重复代码,例如事务,日志等.进行抽取统一编码维护.

Spring框架组成

Spring框架组成.png

Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。
下面我详细说说这些模块
核心容器
主要组成有spring-core,spring-beans,spring-context,spring-context-supportspring-expression (Spring表达式语言)模块.
其中spring-core,spring-beans为Spring框架提供了基础.
spring-context模块: 这个模块建立在基础模块上,提供了对框架的访问方式,例如通过ApplicationContext接口来获取IoC容器中Bean.
例如

ApplicationContext applicationContext = new ClassPathXmlApplicationContext();
applicationContext.getBean("BeanName");

spring-context-support模块: 将第三方库集成到Spring中,例如缓存 邮件 任务调度等.

AOP
spring-aop模块: 提供了标准的AOP面向编程.允许我们自定义方法拦截器或切入点.
spring-aspects模块: 提供与AspectJ的集成.

数据访问/集成
spring-jdbc模块: 提供了一个JDBC抽象层,可以为我们省区繁琐的JDBC编码.
spring-orm模块: 提供了ORM框架的集成.例如hibernate.

Web
spring-web模块: 提供基本的面向Web的集成功能.
spring-webmvc模块: (也称为Web-Servlet模块)包含用于Web 应用程序的模型视图控制器和REST Web Services实现.

Spring下载地址
Spring教程,这个是某论坛的翻译官网的.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,693评论 1 133
  • spring mvc 工作机制(原理): DispatcherServlet主要用作职责调度工作,本身主要用于控制...
    java大湿兄阅读 5,879评论 5 24
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 5,717评论 0 3
  • 一声闷雷 打断了岁月的念想 任凭浪涛翻滚 你依旧倚楼闲坐 不惜梦想荒芜 不管草木疯长 时间煮雨 青梅不待 我站在你...
    聂小青阅读 2,900评论 0 4

友情链接更多精彩内容