spring框架的一些小整理

spring是一个轻量级的/开源的/最受欢迎的/企业级的 java应用程序开发框架。

在理解spring是什么之前,有几个通用概念需要先理解:

1.控制反转IoC(inversion of control):

  java编程中的创建对象一般是由我们来控制的(new一个对象),而控制反转的意思就是,将创建对象/配置对象参数/管理其生命周期的控制权都交给springIoC容器。只是用于实例化对象的参数,方法等等配置元数据,由我们提前通过xml或者注解代码的方式准备好。被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的,bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。这些 bean 是由用容器提供的配置元数据创建的。

2.依赖注入DI(dependency inject):

  简单来说,一个Bean(即对象)在实例化的时候,需要依赖其他的Bean(其他对象)作为他的一个参数。

3.面向方面编程AOP(Aspect Oriented Programming):

  可以和面向对象编程作比较,面向对象(纵向思考)是将一个个具有特定属性,实现特定功能的类作为个体来看待,而面向方面(横向思考)是着眼于这些对象可能都具有的某些功能。比如从管理日志打印这个切面,springAOP可以统一管理,而不需要每个对象都单独管理,同时也提供拦截器拦截一个应用程序(mo后台IP白名单校验就是基于这个)。

控制反转和依赖注入 的优点是增加了对象的可重用性,每个Bean都是相对独立的,当通过依赖注入将他们耦合后,又组装成了一个复杂的对象。

面向方面编程的优点不言而喻,在一个横切面上,统一管理某些独立于业务的逻辑。

以上是spring认同的技术/思想,也是其中三个重要的组件。所以实际上Spring就是一个基于控制反转和依赖注入并支持面向方面编程,来实现性能好,易测试,可重用代码的框架。除此之外,他还包括以下这些实用的框架:

4.Spring JDBC框架

  之前使用JDBC就发现,要执行一个sql操作,需要做很多额外的事情(注册驱动、打开数据库连接、创建statement、处理异常、最后逐一关闭打开的连接。。),而springJDBC就是将这些繁琐的事情都集成在底层,我们只需要定义连接参数,以及要执行的sql。

5.Spring事务管理

  事务的概念,可以理解为整合了一组操作,这一组操作成为了一个最小粒度的整体(原子性),只有执行全都成功或全都失败(确保了数据一致性),每个事务间不相互影响(具有隔离性),而且事务的结果是永久性的,不会因故障而从数据库中删除(持久性)。

6.Spring Web MVC框架

  M:model 模型封装了应用程序数据,并且通常它们由 POJO 组成。

  V:view 视图主要用于呈现模型数据,并且通常它生成客户端的浏览器可以解释的 HTML 输出。

  C:controller 控制器主要用于处理用户请求,并且构建合适的模型并将其传递到视图呈现。

  Spring web MVC 框架实现了应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)的分离,同时提供了在这些元素之间的松散耦合。

猜你喜欢

转载自www.cnblogs.com/stone2967/p/10346509.html