Spring
文章平均质量分 75
Splaying
Studying
展开
-
Spring声明式事务
1、基本概念1.1、事务的基本概念事务:事务是数据库操作的基本单元,逻辑上一组SQL语句要么都执行成功、要么都执行失败!事务有四大特性:原子性、一致性、隔离性、持久性。原子性:原子是物质的最小组成单位、原子性是只整个事务中所有的SQL语句要么都执行成功,要么都失败!一致性:事务执行前后数据库中的状态是一致的;例如:A账户有1000元、B账户有1000元;现在A给B转200块钱,执行前总共2000、执行后还是2000。隔离性:当进行多个事务时,每个事务之间互不造成影响、相互隔离。持久性:当事务成功原创 2021-05-14 14:57:09 · 357 阅读 · 1 评论 -
Spring整合Mybatis
1、基本介绍所谓的Spring整合Mybatis其实说白了就是将mybatis的加载过程全权交给Spring托管,不再需要加载配置工具等一些操作,而具体的dao层操作依旧是使用mybatis去操作数据库。1.1、mybatis使用步骤:首先要写一个mybatis-config.xml核心配置文件,配置基本的环境支持:数据源、驱动、url、username、password…然后编写mybatisUtil工具类,先以IO流的形式加载mybatis-config.xml资源Resource,然后原创 2021-05-12 23:13:53 · 948 阅读 · 6 评论 -
Spring整合JdbcTemplate
1、依赖配置整体的项目结构如下数据源:Spring自身提供了JDBC的数据源,也可以使用第三方的数据源,这里使用Druid数据源。核心引入:引入基本的核心包、引入Spring-jdbc依赖包、lombok包、以及JDBC驱动包就行。2、Spring核心配置Spring整合数据库的操作都需要配置数据源,数据源的配置是比较固定的,但是数据源是可以任意选的,常见的C3P0、DBCP、Druid以及Spring内置的数据源DriverManagerDataSource…然后为封装原创 2021-05-12 17:31:38 · 283 阅读 · 0 评论 -
Spring实现AOP(二)
1、业务接口和实现类UserService接口package com.service;public interface UserService { public void add(); public void delete(); public int update(); public String select();}UserServiceImpl实现类package com.service;import org.springframework.conte原创 2021-05-11 19:28:42 · 103 阅读 · 2 评论 -
Spring配置文件实现AOP
1. AOP概念AOP概念:面向切面编程,英文全称Aspect Oriented Programming;AOP是OOP编程的延伸,也是软件开发中的一个热点,也是Spring框架中的一个重要组成部分,是函数式编程的一种衍生范型。AOP作用:利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP原理:AOP底层是通过动态代理(接口代理、Cglib代理)。通过动态代理可以在程序运行的时候针对某些功能进行逻辑层面的增强原创 2021-05-10 22:17:59 · 702 阅读 · 1 评论 -
Spring使用纯注解实现零配置
之前的学习中一直都在围绕Spring的xml配置文件进行bean的管理…Spring4之后Config成为了Spring的核心功能,可以完全脱离xml配置文件以零配置的形式实现。其实说是零配置,只是xml不再需要;通过注解 + Java代码的形式取代xml。@Configuration注解配置注解:加在一个类上表明这个类与类名xml配置文件有同样的效果!//ABCD.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="h原创 2021-05-08 11:46:46 · 232 阅读 · 0 评论 -
Spring注解的使用
1. 基本介绍为了简化操作与开发,Spring从2.5版本开始支持注解可以从xml配置文件中脱离出来,直接写在Java代码中修改也变得方便。Spring4版本之后,在使用注解时需要引入AOP的Maven依赖,以及context上下文的约束。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:原创 2021-05-07 23:12:50 · 277 阅读 · 3 评论 -
Bean的自动装配(xml)
首先搭建基本的测试环境,创建一个Person类和一个Dog类。Person类public class Person { private String name; private Dog dog; public Person(){} public void setName(String name) { this.name = name; } public void setDogProperty(Dog dog) { //注意这个方法名原创 2021-05-07 15:39:16 · 143 阅读 · 0 评论 -
Bean的作用域与生命周期
Bean对象是由BeanFactory创建的,而Bean对象在BeanFactory中有几种不同的作用域。1. 单例模式Bean对象默认情况下是单例的,也就是说每次获取的都是同一个实例对象,Spring内部采用DCL双重检测锁机制保证多线程的安全。public Object getSingleton(String beanName, ObjectFactory<?> singletonFactory) { Assert.notNull(beanName, "Bean name must原创 2021-05-07 11:02:20 · 207 阅读 · 0 评论 -
Spring的依赖注入之p命名空间和c命名空间
Spring提供了p、c命名空间注入,实际上p就是property的意思、c就是constructor-arg的意思。算是对构造器注入和set注入的简化吧!使用c、p命名空间注入需要引入两个标签在beans的配置中。<!-- p命名空间依赖 -->xmlns:p="http://www.springframework.org/schema/p"<!-- c命名空间依赖 -->xmlns:c="http://www.springframework.org/schema/c"原创 2021-05-06 11:21:25 · 337 阅读 · 0 评论 -
Spring依赖setter注入
Spring的IOC容器提供了三种依赖注入的方式:构造器、setter、注解。setter依赖注入时工厂调用空构造方法,然后通过set函数进行注入。优点:灵活度更高,可以动态的改变依赖。缺点:失去了强制依赖关系无法表明那些属性是必须的,在注入不完整的情况下,拿到的可能是一个 “残次” 对象。Address类@Datapublic class Address { private String address;}Student类@Data@NoArgsCons..原创 2021-05-06 10:08:45 · 663 阅读 · 1 评论 -
Spring构造器的三种注入方式
构造器注入:通过构造方法注入就相当于给构造方法的参数传值,构造注入的优势是通过构造强制依赖关系,使得实例化出的bean对象一定是完整的或者可以使用的。Salary类public class Salary { private BigDecimal money; private int day; public Salary(){} public Salary(BigDecimal money, int day) { this.money = money;原创 2021-05-05 19:23:26 · 6813 阅读 · 1 评论 -
IOC控制反转理解
1. IOC基础IOC:全称Inversion Of Control,中文翻译是控制反转的意思。初学Spring绕不过去的一个弯,需要好好理解IOC的思想。网上看了很多博客,也看了很多网课,但是还是云里云雾。终于看到一个容易理解的例子,写下自己对IOC的理解。2. IOC推导与理解首先编写一个基本的项目,结构如下:有一个Meizi(妹子)接口,里面有一个方法describe。编写四个类(四种类型的妹子):Yujie(御姐)、Luoli(萝莉)、Xuemei(学妹)、NvWang(女王)类原创 2021-05-05 16:29:13 · 983 阅读 · 2 评论