随笔分类 - Spring学习
摘要:一、什么是事务 事务就是一系列的业务逻辑的操作,必须要全部执行成功,否则每个操作所执行的内容都要撤销。 二、事务的四大特性 1.原子性(atomicity):事务虽然有一系列的操作,但要把它看作一个整体(单一原子),要么都成功,要么都失败; 2.一致性(consistency):事务必须是使数据库从
阅读全文
摘要:在学习之前,我们先了解一个网站mybatis-spring,这是mybatis-spring整合的官方文档,里面有详细的教程,网址如下: https://mybatis.org/spring/zh/index.html 一、什么是mybatis-spring 以下是mybatis-spring官方给
阅读全文
摘要:一、什么是AOP AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以
阅读全文
摘要:Spring中AOP的底层原理就是动态代理模式,所以我们在这里对代理模式进行学习。 一、代理模式 1.什么是代理 代理,顾名思义,就是一个人代替另一个人去做他需要做的事情。代理是一种设计模式,具体实现就是一个类代替某个类去实现功能。 我们举一个例子: 我要租房子,我可以找房东直接租房子。同样我可以找
阅读全文
摘要:上一篇文章我们学习了使用注解开发,但还没有完全脱离xml的配置,现在我们来学习JavaConfig配置来代替xml的配置,实现完全注解开发。 下面我们用一个简单的例子来进行学习。 一、首先建立两个实体类 User: package com.jms.pojo; import org.springfra
阅读全文
摘要:一、导包(添加依赖) 在Spring4之后,想要使用注解就必须要导入spring-aop这个包,这里我直接添加的spring-webmvc,其中包含了我们需要的包。 maven:spring-webmvc <dependency> <groupId>org.springframework</grou
阅读全文
摘要:上一篇文章我们已经学习了Bean的自动装配,是在xml文件中配置autowire来实现的,现在我们来学习一下通过注解来实现自动装配。 一、使用注解需要的准备工作 使用注解在xml配置文件中导入约束并配置对注解的支持: <?xml version="1.0" encoding="UTF-8"?> <b
阅读全文
摘要:一、Bean装配的方式 在Spring中Bean有三种装配的方式: 1.在xml中显式的配置。 2.在java中显式的配置。 3.隐式的自动装配。 前面我们一直在用的都是第一种xml中的配置,这里我们来学习第三种隐式的自动装配。 二、什么是自动装配 自动装配是Spring满足Bean依赖的一种方式,
阅读全文
摘要:Spring框架支持六个作用域,其中四个只有在Web中才能用到,在此我们只说明前两种作用域。 下面是所有的六种作用域: ScopeDescription singleton (Default) Scopes a single bean definition to a single object in
阅读全文
摘要:一、什么是DI依赖注入 依赖关系注入 (DI) 是一个过程,通过该过程,对象仅通过构造函数参数、工厂方法的参数或在构造对象实例或从工厂方法返回后在对象实例上设置的属性来定义其依赖关系(即,使 用它们使用的其他对象)。然后,容器在创建 Bean 时注入这些依赖项。这个过程基本上是Bean本身的反函数(
阅读全文
摘要:一、bean <bean id="user" class="com.jms.pojo.User" name="aaa,bbb"> <constructor-arg name="name" value="jms"/> </bean> bean有三个属性: 1. id:bean的唯一标识符; 2. cl
阅读全文
摘要:一、bean被创建的时间 考虑一个问题,我们都知道spring通过xml的配置创建bean,那么bean是什么时间被创建的呢?是在我们getBean()的时候创建的吗? 我们来做一个测试: 1.首先建立一个User类: package com.jms.pojo; public class User
阅读全文
摘要:上一篇学习了控制反转(IoC)的本质和具体实现方法,这次我们就学习写一个小的项目来体验这个过程。 一、项目构建 1.Maven依赖(导包) <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/sprin
阅读全文
摘要:一、图例 对照上面的图,我们回想上一篇中几个代码的实现,在没有set注入之前,代码运行完全由Service层控制,用户没有选择权,选择权在程序员手中;但是使用set注入之后,用户可以主动控制service层要执行带代码,具体执行由用户自己选择。 二、本质 控制反转(IoC)是一种设计思想,DI(De
阅读全文
摘要:在Spring的简介中我们知道了Spring的核心是控制反转(IoC:Inverse of Control)和面向切面编程(AOP:Aspect Oriented Programming),我们不直接对IoC进行学习,而是先学习IoC的理论推导。 这是我一个maven项目的结构。 UserDao:
阅读全文
摘要:一、什么是Spring 广义上的 Spring 泛指以 Spring Framework 为核心的 Spring 技术栈。 经过十多年的发展,Spring 已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个不同子项目(模块)组成的成熟技术,例如 Spring Framework、Spring
阅读全文