美文网首页
Spring1-基础知识

Spring1-基础知识

作者: 我相信你爱过gg | 来源:发表于2017-05-03 10:19 被阅读12次

    真不知道我是太饿了 还是太饿了 还是太饿了,文章标题是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教程,这个是某论坛的翻译官网的.

    相关文章

      网友评论

          本文标题:Spring1-基础知识

          本文链接:https://www.haomeiwen.com/subject/nhwctxtx.html