Spring入门概述

版权声明:标明原创的版权均归本人所有,任何人或团体、机构全部转载或者部分转载、摘录,请保留本博客链接或标注来源 https://blog.csdn.net/Ellis_li/article/details/86415952

Spring入门

Spring简介概述

Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

Spring的作用

  1. Spring是一个开元的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,减少侵入;
  2. Spring的IOC和AOP应用,将组件的耦合度降至最低,即解耦,便于系统的维护和升级;
  3. 可以与第三方框架和技术整合应用,可以自由选择技术进行开发。

Spring的常用注解

@Component ----------> 为通用注解
@Repository ----------> 为持久层组件注解
@Service ----------> 为业务层组件注解
@Controller ----------> 为控制层注解
@Scope ----------> 为Bean的作用域注解
@Autowired ----------> 为指定Bean之间依赖关系的注解
@Inject ----------> 为指定Bean之间依赖关系的注解
@Value ----------> 为注入Spring表达式值的注解
@ResponseBody ----------> 为Ajax返回类型的注解

Spring的工作流程

  1. 同步请求与响应处理(普通浏览器请求,整个页面刷新)
    在这里插入图片描述
  2. 异步请求与响应处理(Ajax请求,页面局部刷新)
    在这里插入图片描述

IoC(控制反转)

简单说就是将对象的创建权由我们手动创建转为由Spring容器去创建对象,将对象存储在Spring容器中,当程序中需要用到该对象的时候,直接从Spring容器中去获取对象即可

依赖注入(DI)

简单来说,一个系统中可能会有成千上万个对象。如果要手工维护它们之间的关系,这是不可想象的。我们可以在Spring的XML文件描述它们之间的关系,由Spring自动来注入它们——比如A类的实例需要B类的实例作为参数set进去。

AOP(面向切面编程)

面向切面编程是一种编程思想,将系统中非核心的业务提取出来,进行单独处理

就以日志系统为例。在执行某个操作前后都需要输出日志,如果手工加代码,那简直太可怕了。而且等代码庞大起来,也是非常难维护的一种情况。这里就需要面向切面来编程

AOP的核心概念

Aspect(切面): 切面,是对交叉业务逻辑的统称。

Joinpoint(连接点): 指切面可以织入到目标对象的位置(方法,属性等)。

Advice(通知): 指切面的具体实现。

Pointcut(切入点): 指通知应用到哪些类的哪些方法或属性之上的规则。

Introduction(引入): 指动态地给一个对象增加方法或属性的一种特殊的通知。

Weaving(织入): 指将通知插入到目标对象。

Target(目标对象): 指需要织入切面的对象。

Proxy(代理对象): 指切面织入目标对象之后形成的对象。

Spring 的事务管理

一个数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行,要么完全不执行。事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性说成是 ACID:

  • 原子性: 事务应该当作一个单独单元的操作,这意味着整个序列操作要么是成功,要么是失败的。、
  • 一致性: 这表示数据库的引用完整性的一致性,表中唯一的主键等。
  • 隔离性: 可能同时处理很多有相同的数据集的事务,每个事务应该与其他事务隔离,以防止数据损坏。
  • 持久性: 一个事务一旦完成全部操作后,这个事务的结果必须是永久性的,不能因系统故障而从数据库中删除。

浅谈Spring的事务管理

Spring提供的事务管理分为两类: 编程式的和声明式的,编程式的比较灵活,但是代码量大,存在重复的代码比较多,声明式的比编程式的更灵活。

  • 编程式: 主要使用transactionTemplate.省略了部分的提交,回滚,一系列的事务对象定义,需要注入事务管理对象。
  • 声明式: 使用TransactionProxyFactoryBean 围绕Proxy的动态代理,能够自动的提交和回滚事务。

事物拦截器的实现原理。

spring中的事务管理是通过AOP代理来实现的,对被代理对象的每个方法进行拦截。在方法执行前启动事务,方法执行完后根据是否有异常和异常的种类进行提交或回滚。

猜你喜欢

转载自blog.csdn.net/Ellis_li/article/details/86415952
今日推荐