zoukankan      html  css  js  c++  java
  • Spring系列之初识Spring Spring概述

    初始Spring

    啥是Spring?
    下面这个就是Spring
    在这里插入图片描述
    Spring当然不是上面那个Spring,Spring之所以命名为Spring是因为这个开源的轻量级的开源框架的出现给软件行业带来了春天,促进了软件行业的发展
    Spring的理念:整合现有的框架技术,使技术更加实用,是一个大杂烩

    Spring的相关概念

    1.Spring是分层的javaEE/SE应用full-stack轻量级开源框架,以IOC(inverse of control:反转控制 aspect oriented programming:面向切面编程)和AOP为内核
    在这里我写简单讲解一下IOC,至于aop我之后的文章再坐叙述
    *(一位大牛把IOC和DI讲解的十分通俗易懂,链接如下:http://jinnianshilongnian.iteye.com/blog/1413846,大家伙可以去看看
    IOC(控制反转):
    是一种设计思想,而不是一种技术。其主要内容就是把创建对象的任务交给Spring去管理,把对象加入到Spring提供的IOC容器中,由容器进行管理,而不是由对象内部进行管理设置。
    所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。**
    在这里插入图片描述

    DI(Dependency Injection):oC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象,有了 spring我们就只需要告诉spring,A中需要一个Connection,至于这个Connection怎么构造,何时构造,A不需要知道。在系统运行时,spring会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由spring注入到A中的,依赖注入的名字就这么来的。那么DI是如何实现的呢? Java 1.3之后一个重要特征是反射(reflection),它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性,spring就是通过反射来实现注入的。

    除了上面的IOC和AOP,Spring还有其他许多优良特性
    1.非侵入式:基于Spring开发应用的对象不一定要使用Spring中的API
    2.容器:Spring是一个容器,由Spring管理容器中对象的生命周期
    3.依赖注入DI(Dependency Injection):不需要再通过xxxSet()方法来设置对象的属性值,而是通过配置的方式来实现
    4.提供了展现层 SpringMVC 和持久层 Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技术,整合了许多开源世界上许多优秀的第三方框架与资源库,逐渐成为使用最多的Java EE 企业应用开源框架。
    5.声明式事务的支持:将我们从复杂的事务管理代码中解放出来。提高开发效率
    6.方便程序的测试:可以用非容器依赖的编程方式进行几乎所有的测试
    7.降低Java EE API的使用难度:Spring对javaee 的API进行了简单的封装(JDBC,远程调用等),使APID的使用难度大大降低

    Spring体系结构图

    在这里插入图片描述

    **

    Spring框架分为四大模块

    **:

    Core核心模块。负责管理组件的Bean对象

    spring-beans-4.0.0.RELEASE.jar

    spring-context-4.0.0.RELEASE.jar

    spring-core-4.0.0.RELEASE.jar

    spring-expression-4.0.0.RELEASE.jar

    面向切面编程

    spring-aop-4.0.0.RELEASE.jar

    spring-aspects-4.0.0.RELEASE.jar

    数据库操作

    spring-jdbc-4.0.0.RELEASE.jar

    spring-orm-4.0.0.RELEASE.jar

    spring-oxm-4.0.0.RELEASE.jar

    spring-tx-4.0.0.RELEASE.jar

    spring-jms-4.0.0.RELEASE.jar

    Web模块

    spring-web-4.0.0.RELEASE.jar

    spring-webmvc-4.0.0.RELEASE.jar

    spring-websocket-4.0.0.RELEASE.jar

    spring-webmvc-portlet-4.0.0.RELEASE.jar

    在这里插入图片描述
    以上就是Spring概述,这也是我Spring系列的第一篇,后面我会继续更新,写作不易,请各位老铁点个赞支持一下,觉得有帮助的也可以收藏呀,我会经常更新文章,也可以关注我呀

    在这里插入图片描述

  • 相关阅读:
    django–url
    SQLServer-镜像配置
    linux-阿里云ECS部署PPTP(centos)
    linux- svn服务器
    python(7)– 类的反射
    python(7)–类的多态实现
    python(6)-shutil模块
    python(6)-执行shell命令
    python(6)-类
    nagios–配置文件
  • 原文地址:https://www.cnblogs.com/pjhaymy/p/13668657.html
Copyright © 2011-2022 走看看