Spring概述

一.Spring概述

  • Spring是分层的javaSE/EE full-stack轻量级,非侵入式的一站式开源框架,以IOC(Inverse of Control控制反转)和AOP(Aspect Oriented Programming面向切面编程)为内核.使用基本JavaBean来完成以前只能由EJB完成的工作,取代了EJB的臃肿,低效的开发模式

    • JavaBean实际上是一种java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象

    • JEB 通俗理解就是将我们编写软件中的那些需要执行指定的任务的类,不放到客户端软件上了,而是给他打包放置在一个服务器端上

    • IOC(Insersion Of Control 控制反转): 以前我们使用对象,在哪里使用就在哪里new一个,但是这样写并不灵活,显得很呆.IOC的思想就是用Spring框架将所有使用的对象进行管理(对象的创建,功能增强,对象的销毁),我们在哪里使用对象,就在哪里注入.以此实现了对象创建的权利转移.

    • AOP(Aspect Oriented Programming 面向切面编程)利用SpringAOP基础功能切入业务类,精简了代码,且有利于后期维护.

    • 一站式框架: Spring还对jdbc,对事物进行了管理;对web层进行了封装

  • 实际开发中,通常服务器端采用3层体系架构,分别为表示层(Web),业务逻辑层(Service),持久层(Dao).Spring对每一层都提供了技术支持

    • 表示层 提供了Struts等框架的整合

    • 业务逻辑层 可用来管理事物,记录日志等

    • 持久层 持久层可整合Hibernate,JDBC Template

  • Spring框架整合其他框架,便于开发,即Spring是一站式框架,也是javaEE 的一种解决方案

二.Spring框架的优点

Spring具有简单,可测试和松耦合等特点,Spring不仅仅可以用于服务器端开发,也可以应用于任何java应用开发之中

1.非侵入式设计

简单来说就是不要求实现接口

什么是侵入式与非侵入式:

  • 侵入式: 我们在开发中需要引入许多框架.如果引入的框架如果在使用时,需要继承框架提供的实体类或者实现框架提供的接口,这就说明该框架是侵入式框架. 因为程序本身对框架有了依赖,所以当我们除去框架时,程序也就无法运行,这样的就是重量级框架.

  • 非侵入式: 与侵入式相反,当我们使用非侵入式框架时,不需要去实现框架中的类或者接口,因此当我们除去框架时,通过对程序的简单修改还可以继续使用,这样的称为非侵入式.

2.方便解耦,简化开发

将所有对象的创建,对象之间的关系,维护等都交给Spring来完成,简化了我们开发时需要频繁手动创建对象的繁琐步骤,同时也降低了耦合度.

3.支持AOP

4.支持声明式事物处理

Spring框架将事物管理的功能集成了,我们在开发时不用再去手工提交事物等等,这些事物管理Spring会帮我们完成.

5.方便程序测试

6.方便集成各种优秀的框架

7.降低javaEE API的使用难度

你可能感兴趣的:(spring,spring,maven)